# 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 |
