dev only
Project structure
File and folder organization of the boilerplate.
Overview
Controllers, entities and repositories are organized by business domain:
Each business domain (Auth, Billing, Organization…) has its own controllers, entities and repositories. This organization makes navigation and extension straightforward.
Controllers
Controllers are organized by domain under src/Controller/:
| Folder | Content |
|---|---|
src/Controller/Auth/ | Register, login, reset, 2FA |
src/Controller/Billing/ | Stripe subscriptions & webhooks |
src/Controller/Organization/ | Organization and member management |
src/Controller/Scheduler/ | Task scheduler |
src/Controller/Docs/ | Documentation (dev only) |
Entities
Doctrine entities are organized by business domain under src/Entity/:
| Folder | Content |
|---|---|
src/Entity/Auth/ | User, PasswordResetToken |
src/Entity/Billing/ | Subscription, WebhookEvent |
src/Entity/Organization/ | Organization, OrganizationMember, Invitation |
src/Entity/Scheduler/ | ScheduledTask, ScheduledTaskExecution |
src/Entity/Trait/ | HasUuidId, HasTimestamps, HasCreatedAt |
Repositories
Each entity has its repository in the corresponding subfolder:
| Folder | Content |
|---|---|
src/Repository/Auth/ | UserRepository, PasswordResetTokenRepository |
src/Repository/Billing/ | SubscriptionRepository, WebhookEventRepository |
src/Repository/Organization/ | OrganizationRepository, OrganizationMemberRepository, InvitationRepository |
src/Repository/Scheduler/ | ScheduledTaskRepository, ScheduledTaskExecutionRepository |
Events & Migrations
| Folder | Content |
|---|---|
src/EventSubscriber/ | LocaleSubscriber (locale persistence in session) |
migrations/ | Versioned Doctrine migrations |
Frontend
Assets are managed by Symfony AssetMapper (no bundler):
| Folder | Content |
|---|---|
assets/styles/components/ | Design system SCSS components |
assets/styles/theme.scss | CSS tokens (primitives + components) |
assets/controllers/ | Stimulus controllers |
translations/ | i18n files (FR / EN) |
config/ | Symfony configuration (packages, routes, security) |