Architecture layers
Every SPLENT feature follows a layered architecture. Each layer has a clear responsibility.
Route (HTTP) → Service (logic) → Repository (data) → Model (DB)
- Blueprints. HTTP routing and asset serving
- Services. Business logic, no HTTP concerns
- Repositories. Database access, one per model
- Seeders. Initial and test data population
Each layer only talks to the one below it. Routes never touch the DB directly. Services never produce HTTP responses. Repositories never contain business rules.