{"id":30375247,"url":"https://github.com/alaa-nabawy/laravel-solid-api","last_synced_at":"2026-04-29T22:39:45.718Z","repository":{"id":306923184,"uuid":"1027657479","full_name":"alaa-nabawy/laravel-solid-api","owner":"alaa-nabawy","description":"A clean, scalable Laravel 12 API boilerplate with SOLID architecture, CRUD generators, Docker, Passport, and automated code quality tools.","archived":false,"fork":false,"pushed_at":"2025-08-20T22:03:58.000Z","size":750,"stargazers_count":4,"open_issues_count":0,"forks_count":2,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-10-06T01:13:41.096Z","etag":null,"topics":["backend","crud-generator","docker","laravel","laravel-api-boilerplate","laravel12","passport","php","phpstan","phpunit","pint","precommit-hooks","repository-pattern","restful-api","scalable-api","service-layer","solid"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/alaa-nabawy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-07-28T10:38:23.000Z","updated_at":"2025-09-06T18:41:36.000Z","dependencies_parsed_at":"2025-08-20T22:18:24.080Z","dependency_job_id":"a5ee619a-09e5-4441-a3d0-ffc0cbedad05","html_url":"https://github.com/alaa-nabawy/laravel-solid-api","commit_stats":null,"previous_names":["alaa-nabawy/laravel-solid-api"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/alaa-nabawy/laravel-solid-api","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alaa-nabawy%2Flaravel-solid-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alaa-nabawy%2Flaravel-solid-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alaa-nabawy%2Flaravel-solid-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alaa-nabawy%2Flaravel-solid-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alaa-nabawy","download_url":"https://codeload.github.com/alaa-nabawy/laravel-solid-api/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alaa-nabawy%2Flaravel-solid-api/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32447292,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-29T22:27:22.272Z","status":"ssl_error","status_checked_at":"2026-04-29T22:10:49.234Z","response_time":110,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["backend","crud-generator","docker","laravel","laravel-api-boilerplate","laravel12","passport","php","phpstan","phpunit","pint","precommit-hooks","repository-pattern","restful-api","scalable-api","service-layer","solid"],"created_at":"2025-08-20T12:00:35.917Z","updated_at":"2026-04-29T22:39:45.702Z","avatar_url":"https://github.com/alaa-nabawy.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Laravel API SOLID\n\n\u003cp align=\"center\"\u003e\n\u003ca href=\"https://github.com/laravel/framework\"\u003e\u003cimg src=\"https://img.shields.io/badge/PHP-8.2+-777BB4?style=flat\u0026logo=php\u0026logoColor=white\" alt=\"PHP Version\"\u003e\u003c/a\u003e\n\u003ca href=\"https://laravel.com\"\u003e\u003cimg src=\"https://img.shields.io/badge/Laravel-12.0+-FF2D20?style=flat\u0026logo=laravel\u0026logoColor=white\" alt=\"Laravel Version\"\u003e\u003c/a\u003e\n\u003ca href=\"https://www.docker.com\"\u003e\u003cimg src=\"https://img.shields.io/badge/Docker-Ready-2496ED?style=flat\u0026logo=docker\u0026logoColor=white\" alt=\"Docker Ready\"\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/features/actions\"\u003e\u003cimg src=\"https://img.shields.io/badge/CI-GitHub%20Actions-2088FF?style=flat\u0026logo=github-actions\u0026logoColor=white\" alt=\"CI\"\u003e\u003c/a\u003e\n\u003ca href=\"LICENSE\"\u003e\u003cimg src=\"https://img.shields.io/badge/License-MIT-green.svg\" alt=\"License\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n## About\n\nLaravel API SOLID Boilerplate is a production-ready starter kit for secure, scalable Laravel APIs. Built on SOLID principles, it includes automated CRUD scaffolding, Passport OAuth2 authentication, Dockerized environments, and a CI pipeline that enforces code quality before every commit. Start new projects in hours, not weeks — with confidence your base is built to last.\n\n## Table of Contents\n\n- [Features](#features)\n- [Quick Start](#quick-start)\n- [Enhanced CRUD Generation](#enhanced-crud-generation)\n- [Code Quality \u0026 Pre-commit Hooks](#code-quality--pre-commit-hooks)\n- [Docker Environment](#docker-environment)\n- [Authentication](#authentication)\n- [Frontend Integration](#frontend-integration)\n- [Documentation](#documentation)\n- [Version History](#version-history)\n\n## Features\n\n**🏗️ SOLID Architecture**\n\n- Repository pattern with service layer separation\n- Dependency injection and interface-based design\n- Clean, maintainable, and testable code structure\n\n**⚡ Enhanced CRUD Generation**\n\n- `make:structure` command with selective generation (`--only`, `--no-resource`)\n- `make:route-group` for organized API endpoints\n- Modern PHP 8.2+ syntax with constructor property promotion\n\n**🔐 Laravel Passport Integration**\n\n- OAuth2 authentication out of the box\n- Automated setup scripts\n- API token management\n\n**🐳 Professional Docker Setup**\n\n- Separate development and production environments\n- PostgreSQL, Redis, MailHog integration\n- Optimized for cloud deployment\n\n**🔧 Comprehensive Code Quality**\n\n- Pre-commit hooks: PHPStan, Pint, PHPUnit, security audit\n- Automated testing with coverage reports\n- Markdown linting and secret detection\n\n**🚀 Workflow Automation**\n\n- Complete Makefile with 30+ commands\n- One-command setup and deployment\n- Integrated development tools\n\n## Quick Start\n\n### Development Setup\n\n```bash\n# Clone and setup\ngit clone \u003crepository-url\u003e\ncd laravel-api-solid\n\n# One-command setup (includes Docker, dependencies, migrations, Passport)\nmake setup\n\n# Start development environment\nmake dev\n\n# Access workspace for Laravel commands\nmake shell\n```\n\nYour API will be available at `http://localhost:8000` with MailHog at `http://localhost:8025`.\n\n### Production Deployment\n\n```bash\n# Configure environment\ncp .env.prod .env\nnano .env  # Edit production settings\n\n# Deploy\nmake prod-build\n```\n\n### Essential Commands\n\n```bash\n# Development\nmake dev              # Start development environment\nmake shell            # Access workspace container\nmake migrate          # Run database migrations\nmake test             # Run test suite\nmake code-quality     # Run all quality checks\n\n# Code Quality\nmake phpstan          # Static analysis\nmake code-style       # Fix code formatting\nmake test-coverage    # Tests with coverage\nmake security-audit   # Security scan\n\n# Passport\nmake passport-setup   # Complete Passport setup\nmake passport-client  # Create OAuth client\n```\n\n## Enhanced CRUD Generation\n\nPowerful Artisan commands for rapid API development with SOLID architecture.\n\n### Commands\n\n```bash\n# Generate complete CRUD structure\nphp artisan make:structure User\n\n# Selective generation (only specific methods)\nphp artisan make:structure Post --only=index,show,store\n\n# Skip resource folder creation\nphp artisan make:structure Category --no-resource\n\n# Generate organized route groups\nphp artisan make:route-group Api/V1/Users\n```\n\n### What Gets Generated\n\n- **Repository \u0026 Interface**: Data access layer with contracts\n- **Service Classes**: Business logic separation (Create, Read, Update, Delete)\n- **Controller**: Clean, dependency-injected API controller\n- **Resources**: API response transformers (optional)\n- **Routes**: Organized route groups with automatic registration\n\n**📖 [Complete Documentation](./docs/general/route-generation.md)** - Detailed examples and advanced usage\n\n## Code Quality \u0026 Pre-commit Hooks\n\nComprehensive automated code quality enforcement with pre-commit hooks.\n\n### Tools Included\n\n- **PHPStan**: Static analysis and type checking\n- **Laravel Pint**: Code style formatting\n- **PHPUnit**: Automated testing with coverage\n- **Composer Audit**: Security vulnerability scanning\n- **Secret Detection**: Prevent credential commits\n- **Markdown Linting**: Documentation quality\n\n### Setup\n\n```bash\n# Setup pre-commit hooks (included in make setup)\nmake setup-pre-commit\n\n# Manual quality checks\nmake full-quality-check  # Complete analysis\nmake phpstan            # Static analysis only\nmake code-style         # Fix formatting\nmake test-coverage      # Tests with coverage\nmake security-audit     # Security scan\n```\n\nPre-commit hooks automatically run on every commit, ensuring consistent code quality across the team.\n\n**📖 [Pre-commit Setup Guide](./docs/general/pre-commit-setup.md)** | **📖 [Code Quality Tools](./docs/general/code-quality-tools.md)**\n\n## Docker Environment\n\nProfessional Docker setup with separate development and production configurations.\n\n### Development Stack\n\n- **PostgreSQL**: Primary database\n- **Redis**: Caching and sessions\n- **MailHog**: Email testing\n- **Workspace**: Full development environment with tools\n\n### Production Stack\n\n- **Nginx**: Web server\n- **PHP-FPM**: Optimized PHP processing\n- **PostgreSQL**: Production database\n- **Redis**: Production caching\n\n```bash\n# Development\nmake dev              # Start development stack\nmake shell            # Access workspace\nmake db-shell         # Access PostgreSQL\n\n# Production\nmake prod-build       # Build and deploy production\nmake prod-logs        # View production logs\n```\n\n**📖 [Complete Docker Documentation](./docker/README.md)**\n\n## Authentication\n\nLaravel Passport OAuth2 implementation with automated setup.\n\n### Features\n\n- OAuth2 server with personal access tokens\n- API authentication middleware\n- Automated client and key generation\n- Production-ready configuration\n\n### Setup\n\n```bash\n# Automatic setup (included in make setup)\nmake passport-setup\n\n# Manual setup\nmake passport-install\nmake passport-keys\nmake passport-client\n```\n\n**📖 [Passport Setup Guide](./docs/general/passport-setup.md)**\n\n## Frontend Integration\n\nModern frontend development with Vue.js or React, featuring Inertia.js for seamless full-stack integration.\n\n### Quick Setup\n\n```bash\n# Setup Vue 3 with Inertia.js\nmake setup-vue\n\n# Setup React 18 with Inertia.js\nmake setup-react\n\n# Start development environment\nmake dev\n```\n\n### Framework Options\n\n**Vue.js 3 Stack:**\n\n- Vue 3 with Composition API\n- Pinia for state management\n- Vue Router for client-side routing\n- Vitest for testing\n\n**React 18 Stack:**\n\n- React 18 with hooks\n- Redux Toolkit for state management\n- React Router for client-side routing\n- Jest for testing\n\n**Shared Technologies:**\n\n- Inertia.js for server-side routing\n- Vite for fast development and building\n- Tailwind CSS for styling\n- TypeScript support\n- Headless UI components\n- Docker integration\n\n### Development Workflow\n\n```bash\n# Access workspace for frontend development\nmake shell\n\n# Inside workspace:\nnpm run dev     # Start Vite dev server with HMR\nnpm run build   # Build for production\nnpm run test    # Run component tests\nnpm run lint    # Lint and format code\nnpm run type-check  # TypeScript checking\n```\n\n**📖 [Complete Frontend Documentation](./docs/frontend/README.md)** - Comprehensive guides for Vue.js, React, setup, deployment, and advanced configuration\n\n## Documentation\n\nComprehensive guides available in the `docs/` directory:\n\n### Backend \u0026 Architecture\n\n- **[Architecture Guide](./docs/general/architecture.md)** - SOLID principles and project structure\n- **[Service Repository Pattern](./docs/general/service-repository-pattern.md)** - Implementation details\n- **[Route Generation](./docs/general/route-generation.md)** - CRUD command reference\n- **[Passport Setup](./docs/general/passport-setup.md)** - OAuth2 authentication\n\n### Frontend Development\n\n- **[Frontend Documentation](./docs/frontend/README.md)** - Complete frontend development guide\n- **[Vue.js Setup](./docs/frontend/vue-setup.md)** - Vue 3 + Inertia.js integration\n- **[React Setup](./docs/frontend/react-setup.md)** - React 18 + Inertia.js integration\n- **[Switching Frameworks](./docs/frontend/switching-frameworks.md)** - Migration between Vue and React\n- **[Advanced Configuration](./docs/frontend/advanced-configuration.md)** - Vite, Docker, and optimization\n- **[Deployment Guide](./docs/frontend/deployment.md)** - Production deployment strategies\n\n### DevOps \u0026 Quality\n\n- **[DevOps Guide](./docs/general/devops.md)** - Docker and deployment\n- **[Code Quality Tools](./docs/general/code-quality-tools.md)** - Quality automation\n- **[Pre-commit Setup](./docs/general/pre-commit-setup.md)** - Hook configuration\n\n**📖 [Documentation Index](./docs/README.md)**\n\n**License:** MIT | **PHP:** 8.2+ | **Laravel:** 12.0+\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falaa-nabawy%2Flaravel-solid-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falaa-nabawy%2Flaravel-solid-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falaa-nabawy%2Flaravel-solid-api/lists"}