hdeawy / api-starter-kit
Comprehensive boilerplate designed specifically for backend developers who need to quickly scaffold RESTful APIs.
Installs: 33
Dependents: 0
Suggesters: 0
Security: 0
Stars: 2
Watchers: 1
Forks: 0
Open Issues: 0
Type:project
Requires
- php: ^8.2
- laravel/framework: ^12.0
- laravel/tinker: ^2.10.1
- spatie/laravel-query-builder: ^6.3
- tymon/jwt-auth: ^2.2
Requires (Dev)
- barryvdh/laravel-ide-helper: ^3.5
- captainhook/captainhook: ^5.25
- fakerphp/faker: ^1.23
- larastan/larastan: ^3.0
- laravel/pint: ^1.13
- laravel/sail: ^1.41
- laravel/telescope: ^5.7
- mockery/mockery: ^1.6
- nunomaduro/collision: ^8.6
- pestphp/pest: ^3.8
- pestphp/pest-plugin-laravel: ^3.1
This package is auto-updated.
Last update: 2025-04-30 10:55:10 UTC
README
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
Laravel Pint
Code style fixer for minimalists
composer pint
Larastan
Finding errors in your code:
composer stan
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.