Homepage(gif) | Doctors Page |
---|---|
Admin Dashboard | Appointment Booking |
---|---|
User Profile | Server Config |
---|---|
- 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
- Design Patterns
MVC architecture
├── Singleton
├── Factory
├── Stratergy
├── Observer
- JWT Authentication
- Redux Store
- REACT ( TAILWIND + Pure CSS(postcss), Higher Order Components, Advanced File Organization, ThreeJS, Image Upload )
- Express (Advanced File Organization, Event Emitter, IIFE Functions )
- MongoDB ( Discriminators
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
- Frontend
REACT_APP_SERVER_DOMAIN=http://localhost:5000/api
REACT_APP_CLOUDINARY_BASE_URL=https://api.cloudinary.com/v1_1/<>/image/upload
REACT_APP_CLOUDINARY_CLOUD_NAME=
REACT_APP_CLOUDINARY_PRESET=
REACT_FORMIK_SECRET=https://formspree.io/f/
- Backend
PORT=5000
MONGO_URI=mongodb+srv://<url>
TEST_MONGO_URI=TEST_MONGO_URI =mongodb+srv://<test-url>
JWT_SECRET=
Implement unit tests for individual components and functions to validate their behavior in isolation.
--BACKEND
npm test filename.test.js
- Thanks For Helping For Removing Secrets > bfg-repo-cleaner
- Also Big Thanks For This Repo > this