composer create-project jovence/laravel-boilerplate consolidisstructure:
app/
├── Base/
│ ├── BaseController.php # Standardized API responses
│ ├── BaseModel.php # UUIDs, soft deletes, timestamps
│ ├── BaseRepository.php # CRUD & reusable DB operations
│ └── BaseService.php # Business logic layer
├── Http/
│ ├── Controllers/
│ │ ├── Api/ # API controllers
│ │ │ └── UserController.php
│ │ └── Web/ # Web controllers
│ │ └── HomeController.php
│ └── Requests/ # FormRequest validation
│ └── UserRequest.php
├── Models/
│ └── User.php
├── Repositories/
│ └── UserRepository.php
├── Services/
│ └── UserService.php
├── Traits/
│ ├── ApiResponseTrait.php
│ ├── UploadFileTrait.php
│ ├── QueryFilterTrait.php # For dynamic filtering
│ └── UUIDTrait.php
├── Events/
├── Jobs/
├── Notifications/
├── Providers/
│ └── AppServiceProvider.php
├── Helpers/
│ └── global_helpers.php # response_success(), response_error(), etc.
config/
├── services.php # Microservice configs
database/
├── migrations/
├── seeders/
└── factories/
routes/
├── api.php
├── web.php
└── channels.php
resources/
├── views/
└── lang/
tests/
├── Feature/
└── Unit/
docker/
├── Dockerfile
└── docker-compose.yml
.env.example
README.md
BaseController → Standardized JSON responses (success() / error())BaseModel → UUIDs, soft deletes, timestampsBaseRepository → CRUD & reusable DB operationsBaseService → Business logic layerApiResponseTrait → Standard success/error JSONUploadFileTrait → File & cloud uploadsQueryFilterTrait → Dynamic query filtering for microservicesUUIDTrait → Automatic UUIDs for models