How lcrisantosi7-cris/alfapet works
AlfaPet is a role-aware veterinary clinic management web app. Users authenticate, then use routed operational and clinical modules to record and review patients, appointments, care, inventory, sales, and reports. Server controllers enforce access and validate submissions before delegating to module repositories backed by Supabase. The README documents wider capabilities such as owner management, audit, and database-enforced scheduling safeguards; unsampled feature links are shown only where documented, while code-level edges cite available evidence.
Main entry points: app-layout.tsx Role-based shell · routes.ts Route map · auth Sign-in and profiles · pacientes Patient records
Components 23
App and access
- Route map
app/routes.ts - Sign-in and profiles
app/modules/auth - Role-based shell
app/routes/app-layout.tsx
Clinical care
- Patient records
app/modules/pacientes - Consultations
app/modules/consultas - Clinical history
app/modules/historial - Vaccinations
app/modules/vacunas - Surgery workflow
app/modules/cirugias - Lab orders
app/modules/analisis - Hospital admissions
app/modules/internamiento
Clinic operations
- Appointments
app/modules/citas - Products and stock
app/modules/productos - Sales and checkout
app/modules/ventas - Users and settings
app/modules/admin - Staff management
app/modules/personal
Management insights
- Clinic dashboard
app/modules/dashboard - Operational reports
app/modules/reportes
Shared services
- Supabase session client
app/core/supabase/client.server.ts - Request security
app/core/security - Theme and app frame
app/core/theme/theme.server.ts - Feedback and alerts
app/core/feedback
Other components
- Clinic users
- Supabase Auth and PostgreSQL
Connections 37
- Clinic users → Route map: opens routes
app/routes.ts - Route map → Sign-in and profiles: routes sign-in
app/routes.ts - Route map → Role-based shell: mounts modules
app/routes.ts - Clinic users → Sign-in and profiles: signs in
- Sign-in and profiles → Supabase session client: creates session
app/modules/auth/controller/login.controller.server.ts - Supabase session client → Supabase Auth and PostgreSQL: authenticates
- Role-based shell → Patient records: serves module
- Role-based shell → Appointments: serves module
- Role-based shell → Consultations: serves module
- Role-based shell → Clinical history: serves module
- Role-based shell → Vaccinations: serves module
- Role-based shell → Surgery workflow: serves module
- Role-based shell → Lab orders: serves module
- Role-based shell → Hospital admissions: serves module
- Role-based shell → Products and stock: serves module
- Role-based shell → Sales and checkout: serves module
- Role-based shell → Users and settings: serves module
- Role-based shell → Staff management: serves module
- Role-based shell → Clinic dashboard: serves module
- Role-based shell → Operational reports: serves module
- Patient records → Supabase Auth and PostgreSQL: reads and updates
app/modules/pacientes/controller/patient-detail.controller.server.ts - Appointments → Supabase Auth and PostgreSQL: manages schedule
- Consultations → Supabase Auth and PostgreSQL: records care
- Clinical history → Supabase Auth and PostgreSQL: reads clinical history
- Vaccinations → Supabase Auth and PostgreSQL: records doses
app/modules/vacunas/controller/vacunas.controller.server.ts - Surgery workflow → Supabase Auth and PostgreSQL: updates workflow
app/modules/cirugias/controller/surgery-detail.controller.server.ts - Lab orders → Supabase Auth and PostgreSQL: updates orders
app/modules/analisis/controller/lab-order-detail.controller.server.ts - Hospital admissions → Supabase Auth and PostgreSQL: records stays
app/modules/internamiento/controller/admission-detail.controller.server.ts - Products and stock → Supabase Auth and PostgreSQL: updates stock
app/modules/productos/controller/producto-detail.controller.server.ts - Sales and checkout → Supabase Auth and PostgreSQL: registers sales
app/modules/ventas/controller/ventas.controller.server.ts - Users and settings → Supabase Auth and PostgreSQL: manages roles
- Staff management → Supabase Auth and PostgreSQL: manages staff
- Clinic dashboard → Supabase Auth and PostgreSQL: loads indicators
app/modules/dashboard/controller/dashboard.controller.server.ts - Operational reports → Supabase Auth and PostgreSQL: queries reports
- Role-based shell → Request security: protects requests
- Theme and app frame → Role-based shell: sets appearance
- Feedback and alerts → Role-based shell: shows feedback
app/core/feedback/ToastViewport.tsx