# Source Tree Analysis — L'Ami Fiduciaire > Generated: 2026-03-08 | Scan Level: Quick | Repository Type: Monolith ## Annotated Directory Tree ``` l'ami fiduciaire/ ├── app/ # Laravel application code (backend) │ ├── Actions/ │ │ └── Fortify/ # Custom Fortify auth actions (CreateNewUser, ResetUserPassword) │ ├── Concerns/ # Shared traits (PasswordValidationRules, ProfileValidationRules) │ ├── Enums/ # Business domain enums (9 enums) │ │ ├── ActorType.php │ │ ├── ClientStatus.php │ │ ├── FolderPriority.php │ │ ├── FolderStatus.php │ │ ├── FolderType.php │ │ ├── LegalForm.php │ │ ├── MessageType.php │ │ ├── UserGroup.php │ │ └── WorkspaceUserRole.php │ ├── Http/ │ │ ├── Controllers/ # Inertia page controllers │ │ │ ├── Client/ # Public client portal (Upload, Confirm, Refuse) │ │ │ ├── Settings/ # User settings (Profile, Password, 2FA) │ │ │ ├── ClientController.php │ │ │ ├── DashboardController.php ← Entry point (invokable) │ │ │ ├── FolderController.php │ │ │ ├── FolderMediaController.php │ │ │ ├── FolderMessageController.php │ │ │ ├── UserController.php ← Admin only │ │ │ ├── WorkspaceController.php ← Admin only │ │ │ └── WorkspaceSwitchController.php ← Entry point (invokable) │ │ ├── Middleware/ # Custom middleware │ │ │ ├── EnsureUserHasWorkspace.php │ │ │ ├── EnsureUserIsAdmin.php │ │ │ ├── HandleAppearance.php │ │ │ ├── HandleInertiaRequests.php │ │ │ └── ValidateFolderInvitation.php │ │ └── Requests/ # Form request validation (13 classes) │ │ ├── Settings/ # Settings form requests │ │ ├── StoreClientRequest.php │ │ ├── StoreFolderMessageRequest.php │ │ ├── StoreFolderRequest.php │ │ ├── StoreUserRequest.php │ │ ├── StoreWorkspaceRequest.php │ │ ├── UpdateClientRequest.php │ │ ├── UpdateFolderRequest.php │ │ ├── UpdateUserRequest.php │ │ └── UpdateWorkspaceRequest.php │ ├── Mail/ # Mailable classes (5 folder-related emails) │ │ ├── FolderConfirmationMail.php │ │ ├── FolderFileRequestMail.php │ │ ├── FolderInviteMail.php │ │ ├── FolderSituationMail.php │ │ └── FolderTextMessageMail.php │ ├── Models/ # Eloquent models (7 models) │ │ ├── Client.php │ │ ├── Folder.php │ │ ├── FolderInvitation.php │ │ ├── Message.php │ │ ├── User.php │ │ ├── Workspace.php │ │ └── WorkspaceUser.php # Pivot model │ └── Providers/ # Service providers ├── bootstrap/ # Laravel bootstrap & app configuration │ ├── app.php ← Application bootstrap (middleware, routing, exceptions) │ ├── providers.php ← Service provider registration │ └── cache/ # Framework cache files ├── config/ # Laravel configuration files │ ├── app.php │ ├── auth.php │ ├── database.php │ ├── fortify.php # Fortify auth configuration │ ├── inertia.php # Inertia SSR configuration │ ├── mail.php │ ├── queue.php │ ├── session.php │ └── ... # Other standard Laravel config ├── database/ │ ├── factories/ # Model factories for testing │ ├── migrations/ # 16 database migrations │ └── seeders/ # Database seeders ├── public/ # Web-accessible public directory ├── resources/ │ ├── css/ # Global CSS (Tailwind imports) │ ├── js/ # Frontend TypeScript/Vue source │ │ ├── app.ts ← Frontend entry point │ │ ├── ssr.ts ← SSR entry point │ │ ├── components/ # Vue components │ │ │ ├── ui/ # shadcn-vue design system (20+ component groups) │ │ │ ├── clients/ # Client-specific components │ │ │ ├── folders/ # Folder-specific components │ │ │ ├── ClientForm.vue │ │ │ ├── FolderForm.vue │ │ │ ├── UserForm.vue │ │ │ ├── WorkspaceForm.vue │ │ │ ├── WorkspaceSwitcher.vue │ │ │ ├── Pagination.vue │ │ │ └── ... # App shell, navigation, layout components │ │ ├── composables/ # Vue composables (4 hooks) │ │ │ ├── useAppearance.ts │ │ │ ├── useCurrentUrl.ts │ │ │ ├── useInitials.ts │ │ │ └── useTwoFactorAuth.ts │ │ ├── layouts/ # Page layouts (8 layouts) │ │ │ ├── app/ # App layouts (Header, Sidebar) │ │ │ ├── auth/ # Auth layouts (Card, Simple, Split) │ │ │ ├── settings/ # Settings layout │ │ │ ├── AppLayout.vue ← Main app layout │ │ │ └── AuthLayout.vue ← Auth pages layout │ │ ├── lib/ # Utility functions │ │ ├── pages/ # Inertia page components (31 pages) │ │ │ ├── auth/ # Auth pages (Login, Register, 2FA, etc.) │ │ │ ├── client/ # Public client portal pages │ │ │ ├── clients/ # Client management (CRUD) │ │ │ ├── folders/ # Folder management (CRUD) │ │ │ ├── settings/ # User settings pages │ │ │ ├── users/ # User admin (CRUD) │ │ │ ├── workspaces/ # Workspace admin (CRUD) │ │ │ ├── Dashboard.vue │ │ │ └── Welcome.vue │ │ └── types/ # TypeScript type definitions │ │ ├── auth.ts │ │ ├── index.ts │ │ ├── navigation.ts │ │ ├── ui.ts │ │ └── global.d.ts │ └── views/ # Blade templates │ ├── app.blade.php ← Root Blade template for Inertia │ └── emails/ # Email Blade templates ├── routes/ │ ├── web.php ← Main web routes │ ├── settings.php ← Settings routes │ └── console.php # Console/Artisan routes ├── storage/ # Laravel storage (logs, cache, uploads) ├── tests/ │ ├── Pest.php # Pest configuration │ ├── TestCase.php # Base test case │ ├── Feature/ # Feature tests (13 test files) │ │ ├── Auth/ # Authentication tests │ │ ├── Settings/ # Settings tests │ │ ├── DashboardTest.php │ │ └── UserGroupTest.php │ └── Unit/ # Unit tests ├── .github/workflows/ # CI/CD pipelines │ ├── lint.yml # Linting (Pint + ESLint + Prettier) │ └── tests.yml # Testing (Pest, PHP 8.4/8.5 matrix) ├── compose.yaml # Docker Compose (Sail + MySQL + Mailpit + Soketi) ├── composer.json # PHP dependencies ├── package.json # Node.js dependencies ├── vite.config.ts # Vite build configuration ├── tsconfig.json # TypeScript configuration ├── eslint.config.js # ESLint configuration ├── phpunit.xml # PHPUnit/Pest configuration ├── pint.json # Laravel Pint code style config ├── artisan ← Laravel CLI entry point └── AGENTS.md # Laravel Boost AI guidelines ``` ## Critical Folders Summary | Folder | Purpose | Key Files | |--------|---------|-----------| | `app/Http/Controllers/` | All Inertia page controllers (15 controllers) | ClientController, FolderController, etc. | | `app/Models/` | Eloquent ORM models (7 models) | User, Client, Folder, Workspace, etc. | | `app/Enums/` | Business domain enumerations (9 enums) | ClientStatus, FolderStatus, FolderType, etc. | | `app/Mail/` | Email notifications (5 mailables) | Folder-related email notifications | | `app/Http/Middleware/` | Request middleware (5 custom) | Workspace, Admin, Invitation guards | | `app/Http/Requests/` | Form validation (13 requests) | Store/Update requests for all entities | | `resources/js/pages/` | Vue page components (31 pages) | CRUD pages for all entities | | `resources/js/components/ui/` | shadcn-vue design system | 20+ UI component groups | | `resources/js/composables/` | Vue composables | Appearance, URL, Initials, 2FA | | `resources/js/layouts/` | Page layout templates (8 layouts) | App, Auth, Settings layouts | | `database/migrations/` | Schema migrations (16 files) | Full database schema | | `routes/` | Route definitions | web.php, settings.php | | `.github/workflows/` | CI/CD pipelines | lint.yml, tests.yml |