How ivanerricis/easylab-web works
EasyLab Web gestisce un laboratorio di riparazione: il personale mantiene clienti e dispositivi, registra interventi e guasti e produce report/ricevute PDF per i clienti. Il percorso principale parte dalle pagine React, passa per l’API Express e termina nelle funzionalità di gestione e persistenza. Il prodotto include anche calendario, dashboard, autenticazione e impostazioni operative, tra cui backup e configurazione email. Le relazioni tra pagine e rotte sono documentate in parte; i collegamenti non verificati nel codice campionato sono indicati come non verificati.
Main entry points: client.ts Client API · app.ts Server Express · App.tsx App e rotte · reports.ts Rotte report
Components 22
Interfaccia laboratorio
- App e rotte
frontend/src/App.tsx - Clienti
frontend/src/pages/customers/CustomerPage.tsx - Interventi
frontend/src/pages/interventions/InterventionsPage.tsx - Report PDF
frontend/src/pages/reports/ReportsPage.tsx - Calendario
frontend/src/pages/calendar/components/interventions-calendar.tsx - Dashboard
frontend/src/pages/dashboard/DashboardPage.tsx - Impostazioni
frontend/src/pages/settings/SettingsPage.tsx - Client API
frontend/src/lib/api/client.ts
API e dominio
- Server Express
backend/src/app.ts - Rotte laboratorio
backend/src/routes/interventions.ts - Rotte report
backend/src/routes/reports.ts
Dati persistenti
- Schema dati
backend/src/db/schema.ts - PostgreSQL
Accesso e impostazioni
- Autenticazione
backend/src/routes/auth.ts - Rotte impostazioni
backend/src/routes/settings.ts - Gestione account
backend/src/services/authManager.ts - Dati azienda
backend/src/services/companyManager.ts
Operazioni e output
- Backup e restore
backend/src/services/backupManager.ts - Email
backend/src/services/emailManager.ts - Notifiche
backend/src/services/notificationManager.ts - Generazione PDF
backend/src/services/reportPdf.ts
Other components
- Personale
Connections 28
- Personale → App e rotte: usa
README.md - App e rotte → Clienti: instrada
frontend/src/App.tsx - App e rotte → Interventi: instrada
frontend/src/App.tsx - App e rotte → Report PDF: instrada
frontend/src/App.tsx - App e rotte → Impostazioni: instrada
frontend/src/App.tsx - Clienti → Client API: richiede dati
- Interventi → Client API: richiede dati
- Report PDF → Client API: richiede dati
- Calendario → Client API: carica interventi
- Dashboard → Client API: carica statistiche
- Impostazioni → Client API: gestisce impostazioni
- Client API → Server Express: chiama API
README.md - Server Express → Autenticazione: monta rotte
backend/src/app.ts - Server Express → Rotte laboratorio: monta rotte
backend/src/app.ts - Server Express → Rotte report: monta rotte
backend/src/app.ts - Server Express → Rotte impostazioni: monta rotte
backend/src/app.ts - Rotte laboratorio → Schema dati: accede ai dati
- Rotte report → Schema dati: accede ai dati
- Schema dati → PostgreSQL: definisce struttura
README.md - Autenticazione → Gestione account: delega account
backend/src/routes/auth.ts - Gestione account → PostgreSQL: legge e scrive
backend/src/services/authManager.ts - Gestione account → Notifiche: registra accessi
backend/src/services/authManager.ts - Rotte impostazioni → Dati azienda: configura azienda
- Server Express → Backup e restore: avvia scheduler
backend/src/index.ts - Backup e restore → Dati azienda: legge dati azienda
backend/src/services/backupManager.ts - Backup e restore → Email: invia avvisi
backend/src/services/backupManager.ts - Rotte report → Generazione PDF: genera ricevute
- Report PDF → Rotte report: gestisce report
README.md