Skip to content

Latest commit

 

History

History
109 lines (91 loc) · 9.15 KB

File metadata and controls

109 lines (91 loc) · 9.15 KB

Smart Healthcare System for Urban Hospitals

User Interface

Homepage(gif) Doctors Page
Homepage Doctors Page
Admin Dashboard Appointment Booking
Admin Dashboard Appointment Booking
User Profile Server Config
profile Appointment Booking

Functionalities

  • 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

TOOLS

  • 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

Structure

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

Enviroment Variables (Dev)

  • 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=

Unit Testing

Implement unit tests for individual components and functions to validate their behavior in isolation.

--BACKEND
    npm test filename.test.js

Class Diagram (Click it.. For a Suprise)

ClassDiagram