Technical Overview
This section is for engineers who need to read or change the code. It covers:
- Setup guide — how to bring the full stack up on a laptop, including both Flutter apps.
- Backend (Laravel) — structure, database schema, models, controllers, routes, middleware, form requests, resources, Filament admin panel.
- Frontend (React) — structure, contexts, components, services, styling.
- Mobile (Flutter) — shared architecture, plus deep-dives into the vetty (pet-owner) and vetdoctor (clinic) apps.
- Authentication — the end-to-end flow across web, mobile and Filament.
- API reference — every public endpoint with methods, parameters, and response shape.
Repositories at a glance
vetty/
├── backend/ # Laravel 12 API + Filament admin
│ ├── app/
│ │ ├── Http/
│ │ │ ├── Controllers/ # Api/V1, Filament resources separate
│ │ │ ├── Middleware/ # tenant.resolve, require.permission, require.premium
│ │ │ ├── Requests/ # FormRequests grouped by version
│ │ │ └── Resources/ # API response shapers grouped by version
│ │ ├── Models/ # Eloquent models (incl. PetShare, PetVaccination, ServiceSetting)
│ │ ├── Filament/ # Filament resources/pages/widgets
│ │ ├── OpenApi/ # Swagger-PHP shared schemas
│ │ ├── Notifications/ # Driver-swappable email/SMS adapters
│ │ └── Providers/ # AppServiceProvider + Filament panel
│ ├── routes/ # api.php, web.php, console.php
│ ├── database/ # migrations, factories, seeders
│ ├── config/ # framework config
│ └── composer.json
├── ui/ # React 18 SPA (clinic + owner web portal)
│ ├── src/
│ │ ├── components/ # Feature modules + common UI