hdeawy/api-starter-kit

Comprehensive boilerplate designed specifically for backend developers who need to quickly scaffold RESTful APIs.

v1.3.3 2025-04-30 10:54 UTC

This package is auto-updated.

Last update: 2025-04-30 10:55:10 UTC


README

API Starter Kit

Total Downloads Latest Stable Version License

Laravel API Starter Kit

Idea Brief

The Laravel API Starter Kit is a comprehensive boilerplate designed specifically for backend developers who need to quickly scaffold RESTful APIs using Laravel. Unlike general-purpose starter kits, this one focuses exclusively on API development, implementing industry best practices like Service and Repository patterns to ensure clean, maintainable, and testable code. This starter kit aims to solve common challenges in API development by providing a standardized structure, consistent response formats, and allowing developers to focus on business logic rather than repetitive boilerplate code.

Core Features

The API Starter Kit includes the following core features:

  • Service Class Pattern
  • Repository Pattern
  • Standardized API Response Structure
  • API Versioning
  • Query Builder (Dynamic filtering, sorting, and pagination using Spatie Query Builder)
  • Authentication using JWT
  • Request Validation
  • Resource Transformers
  • API Documentation
  • Telescope for Development & Debugging.
  • Code Quality Tools (Pint, Larastan, IDE Helper)
  • Pest for Testing (already configured and ready to use, see current tests).
  • Docker Configuration
  • Git Hooks (pre-commit and pre-push to automatically run Pint, Larastan, and test suites)

Requirements

  • PHP 8.2+
  • Composer
  • MySQL 8.0+ / PostgreSQL 12+ / SQLite 3

Installation

Using Laravel Installer

laravel new my-app --using=hdeawy/api-starter-kit

Using Composer

composer create-project hdeawy/api-starter-kit

Using Docker

  • Install starter using Docker
docker run -it --rm \
    -v $(pwd):/app \
    -w /app \
    -e COMPOSER_ALLOW_SUPERUSER=1 \
    composer:2.5 \
    create-project hdeawy/api-starter-kit .
  • Update the .env file with your database credentials
DB_CONNECTION=mysql
DB_HOST=mysql
DB_PORT=3306
DB_DATABASE=laravel_api
DB_USERNAME=root
DB_PASSWORD=password
  • 🔥 Start the Docker containers
sail up -d
  • Finally, run the migrations and generate the JWT secret
sail artisan migrate
sail artisan jwt:secret

Manually

  • Clone the repository
git clone git@github.com:hdeawy/api-starter-kit.git
cd api-starter-kit
  • Install dependencies
composer install
  • Copy the .env.example file to .env and set your environment variables
cp .env.example .env
  • Final setup
php artisan key:generate
php artisan jwt:secret
php artisan migrate

Testing

Run the tests with Pest:

php artisan test

API Starter Kit

Laravel Pint

Code style fixer for minimalists

composer pint

API Starter Kit

Larastan

Finding errors in your code:

composer stan

API Starter Kit

Contributing

Thank you for considering contributing to this API Starter Kit!. All the contribution guidelines are mentioned here.

Security Vulnerabilities

If you discover a security vulnerability within the starter kit, please send an e-mail to me via ahmedhdeawy@gmail.com.

License

This Laravel API Starter Kit is open-sourced software licensed under the MIT license.