DEV Community

Cover image for πŸš€ Laravel API Starter Kit: Build APIs Faster with Modern Tools
Ahmed Hdeawy
Ahmed Hdeawy

Posted on

πŸš€ Laravel API Starter Kit: Build APIs Faster with Modern Tools

Building robust APIs with Laravel just got easier. Introducing the Laravel API Starter Kitβ€”a modern, Dockerized foundation designed to accelerate your backend development.

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
Enter fullscreen mode Exit fullscreen mode

Using Composer

composer create-project hdeawy/api-starter-kit
Enter fullscreen mode Exit fullscreen mode

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 .
Enter fullscreen mode Exit fullscreen mode
  • 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
Enter fullscreen mode Exit fullscreen mode
  • πŸ”₯ Start the Docker containers
sail up -d
Enter fullscreen mode Exit fullscreen mode
  • Finally, run the migrations and generate the JWT secret
sail artisan migrate
Enter fullscreen mode Exit fullscreen mode
sail artisan jwt:secret
Enter fullscreen mode Exit fullscreen mode

Manually

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

Testing

Run the tests with Pest:

php artisan test
Enter fullscreen mode Exit fullscreen mode

API Starter Kit

Laravel Pint

Code style fixer for minimalists

composer pint
Enter fullscreen mode Exit fullscreen mode

API Starter Kit

Larastan

Finding errors in your code:

composer stan
Enter fullscreen mode Exit fullscreen mode

API Starter Kit

Empower your API development journey with the Laravel API Starter Kitβ€”a modern, efficient, and scalable foundation tailored for today’s web applications.

Top comments (2)

Collapse
 
temamawelu profile image
Temam Awelu Said

Good one πŸ‘

Collapse
 
ahmedhdeawy profile image
Ahmed Hdeawy

Thanks