How ahmadtawela/lora-medical-tourism_system works
Lora Clinic is a medical-tourism clinic management system with separate admin and patient experiences. Users sign in through the React app; its API client sends Bearer-token requests to Laravel, which dispatches role-specific dashboard and domain operations. Admins manage patients, invoices, reports, and notifications; patients view their own records and can upload reports. The documented product also supports patient invitations, spreadsheet import, and overdue/upcoming-operation reminders. Edges follow the supplied source and README; detailed wiring for unsampled controllers and notification implementations is not inferred.
Main entry points: Notifications Notification types · api.php API routes · Models Clinic models · lora-clinic-api-client.js API client
Components 24
Web application
- App and portals
lora- clinic -front/src/app/App.jsx - Auth context
lora- clinic -front/src/api/AuthContext.jsx - API client
lora- clinic -front/src/api/lora-clinic-api-client.js - Admin pages
lora- clinic -front/src/pages/admin - Patient pages
lora- clinic -front/src/pages/patient - Login page
lora- clinic -front/src/pages/LoginPage.jsx
API and access
- API routes
lora-clinic-backend/lora/routes/api.php - Unified login
lora-clinic-backend/lora/app/Http/Controllers/Api/Auth/UnifiedAuthController.php - Role middleware
lora-clinic-backend/lora/app/Http/Middleware
Clinic records
- Admin controllers
lora-clinic-backend/lora/app/Http/Controllers/Api/Admin - Patient controllers
lora-clinic-backend/lora/app/Http/Controllers/Api/Patient
Import and messaging
- Import endpoint
lora-clinic-backend/lora/app/Http/Controllers/Api/Admin/PatientImportController.php - Patient import
lora-clinic-backend/lora/app/Services/PatientImportService.php - Report observer
lora-clinic-backend/lora/app/Observers/MedicalReportObserver.php - Notification types
lora-clinic-backend/lora/app/Notifications - WhatsApp channel
lora-clinic-backend/lora/app/Notifications/Channels/WhatsAppChannel.php - WhatsApp service
lora-clinic-backend/lora/app/Services/WhatsAppService.php - Reminder commands
lora-clinic-backend/lora/app/Console/Commands
Persistent state
- Clinic models
lora-clinic-backend/lora/app/Models - Clinic database
lora-clinic-backend/lora/config/database.php
Other components
- Clinic admin
- Patient
- Email service
- WhatsApp Cloud API
Connections 28
- Clinic admin → Login page: signs in
- Patient → Login page: signs in
- Login page → Auth context: submits credentials
- Auth context → API client: calls auth
- App and portals → Auth context: reads session
- App and portals → Admin pages: renders admin
- App and portals → Patient pages: renders patient
- Admin pages → API client: requests admin data
- Patient pages → API client: requests patient data
- API client → API routes: sends API requests
- API routes → Unified login: dispatches login
- API routes → Role middleware: applies role checks
- API routes → Admin controllers: dispatches admin
- API routes → Patient controllers: dispatches patient
- Admin controllers → Clinic models: reads and writes
- Patient controllers → Clinic models: reads and writes
- Unified login → Clinic models: checks accounts
- Clinic models → Clinic database: persists records
- Import endpoint → Patient import: processes file
- Patient import → Clinic models: creates patients and invoices
- Patient import → Notification types: sends invitations
- Admin controllers → Notification types: sends invitations
- Report observer → Notification types: triggers report notice
- Reminder commands → Notification types: sends reminders
- Notification types → Email service: delivers email
- Notification types → WhatsApp channel: dispatches channel
- WhatsApp channel → WhatsApp service: sends message
- WhatsApp service → WhatsApp Cloud API: calls Cloud API