You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Role Based Authentication ( Used MongoDB Discriminators For Inheritance )
Person
├── Doctor - See Ongoing Appointments, Change Status Of Them
├── Health Care Manager - Scan QR Code And Validate Patient Appointment
├── Administrator - Access Server DashBoard With Advanced Interactions, Manage Server Configuration, Analytics Dashboard
├── Patient - Book Appointments, See Pending Appointments, Pay For The Appointment,See Doctors List, Apply For a Doctor
backend/
│
├── app.js # Main application
├── models/ # Contains all models
│ ├── globalModel.js # Singleton Global Model
│ ├── person.js # Base class for Person
│ ├── Configurations.js # Backup Instace For Configuration
│ ├── patient.js # Patient class inherits from Person
│ ├── doctor.js # Doctor class inherits from Person
│ ├── hospitalStaff.js # HospitalStaff class inherits from Person
│ ├── healthcareManager.js # HealthcareManager inherits from Person
│ ├── appointment.js # Appointment model
│ ├── hospitalFactory.js # Factory for hospital types
│ └── paymentStrategy.js # Strategy for payment methods
│
├── routes/ # API endpoints
│ ├── patientRoutes.js # Patient-related API routes
│ ├── doctorRoutes.js # Doctor-related API routes
│ ├── hospitalStaffRoutes.js # HospitalStaff-related API routes
│ ├── healthcareManagerRoutes.js # HealthcareManager-related routes
│ ├── appointmentRoutes.js # Appointment-related API routes
│ └── paymentRoutes.js # Payment-related API routes
│
└── services/ # Business logic and services
├── appointmentService.js # Service handling appointments
├── reportService.js # Service handling reports
└── hospitalService.js # Service handling hospital services