Download the PHP package orebarranco/laravel-api-starter-kit without Composer
On this page you can find all versions of the php package orebarranco/laravel-api-starter-kit. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download orebarranco/laravel-api-starter-kit
More information about orebarranco/laravel-api-starter-kit
Files in orebarranco/laravel-api-starter-kit
Package laravel-api-starter-kit
Short Description Production-ready API-only starter kit for Laravel 13 with Sanctum auth, JSON:API responses, DTOs, Actions, and 100% test coverage.
License MIT
Informations about the package laravel-api-starter-kit
Laravel API Starter Kit
A production-ready, API-only starter built with Laravel 13 and PHP 8.4. Designed for scalable backends, mobile apps, SPAs, SaaS platforms, and microservices.
No frontend scaffolding. No Blade. Pure headless API.
Core Philosophy
- Thin controllers — business logic lives in Actions
- Typed DTOs hydrated from Form Requests via
toDto() - Strict typing throughout (
declare(strict_types=1),finalclasses) - JSON:API compliant responses
- Versioned APIs from day one
Features
- Token authentication via Laravel Sanctum
- Email verification with signed URLs
- Password reset via email
- Rate limiting (per IP and per user)
- API versioning (URI-based)
- Custom
readonlyDTOs (no external packages) - JSON:API resource objects via
JsonApiResource - Centralized exception handling
- Pest with 100% coverage enforced
- Static analysis via Larastan
- Automated refactoring with Rector
- Code formatting via Laravel Pint
Requirements
- PHP 8.4+
- Composer 2.x
- MySQL / PostgreSQL / SQLite
Quick Start
Via the Laravel installer (recommended):
Via Composer:
Via Git:
Authentication
Protected routes require:
| Endpoint | Method | Auth |
|---|---|---|
/api/v1/auth/register |
POST | — |
/api/v1/auth/login |
POST | — |
/api/v1/auth/logout |
POST | Bearer |
/api/v1/auth/me |
GET | Bearer |
/api/v1/auth/forgot-password |
POST | — |
/api/v1/auth/reset-password |
POST | — |
/api/v1/auth/email/verify/{id}/{hash} |
GET | Signed URL |
/api/v1/auth/email/resend |
POST | Bearer |
API Versioning
URI-based versioning. Each version is fully isolated:
Response Format
All responses use Content-Type: application/vnd.api+json.
Success
Error
Project Structure
Action Pattern
Controllers delegate to single-purpose Action classes:
Rate Limiting
| Limiter | Routes | Limit |
|---|---|---|
auth |
register, login, forgot-password, reset-password, email verify | 5 req/min per IP |
api |
all authenticated endpoints | 120 req/min per user · 60 req/min per IP |
Email Verification
Sent automatically on registration via the Registered event.
Password Reset
The reset link points to FRONTEND_URL/reset-password?token=...&email=.... Configure FRONTEND_URL in your .env.
Middleware
force.json— enforcesAccept: application/vnd.api+jsonapi.version— setsX-API-Versionresponse headerverified— requires verified email →EMAIL_NOT_VERIFIED(403)
Testing
Powered by Pest 4 with 100% coverage enforced. Feature and unit tests for all controllers, actions, middleware, and exception handling.
Code Quality
- PHPStan level max via Larastan
- Rector for automated refactoring
- Laravel Pint for code style
License
MIT License
All versions of laravel-api-starter-kit with dependencies
laravel/framework Version ^13.2
laravel/sanctum Version ^4.3.1
laravel/tinker Version ^3.0
spatie/laravel-query-builder Version ^7.1