179 lines
10 KiB
Markdown
179 lines
10 KiB
Markdown
|
|
# 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 |
|