MediCare CMS is a modern, full-stack Clinic Management System designed to simplify day-to-day clinic operations. It streamlines patient registration, live queue management, billing, and medical record tracking while maintaining a clean, low-cognitive-load user experience.
The application is built with the MERN stack and features the custom โPulseโ Design System โ a teal-and-slate visual language optimized for clarity, speed, and trust in medical environments.
This repository contains demo accounts for testing purposes only.
Please note that these credentials are not for production use.
Receptionist Account
- Email: sarah@clinic.com
Password: password123
Doctor Account
- Email: doc@clinic.com
Password: password123
- These accounts are provided for demonstration and testing only.
- Do not reuse these passwords in real environments.
- For production systems, always use secure, unique passwords and follow best practices for authentication.
- Key Features
- Tech Stack
- Installation & Setup
- Project Structure
- API Overview
- Design System (Pulse)
- Printing System
- Creating Staff Users
- Future Enhancements
- Contributing
- License
- Patient Registration: Fast entry for new and returning patients
- Smart Search: Lookup by patient name or phone number
- Live Queue Management: Waiting, In-Progress, and Completed states
- Token Generation: Automatic token assignment per doctor
- Doctor Availability: Real-time doctor status
- Daily Overview: Patient count, live queue, and daily revenue
- Live Queue View: See assigned patients in real time
- Digital Prescriptions: Add diagnosis, medicines, dosage, and notes
- Medical History: View complete patient visit timeline
- Vitals Recording: BP, weight, temperature, etc.
- Prescription Printing: Professional printable Rx format
- One-Click Billing: Generate invoices from completed appointments
- Payment Tracking: Cash, Card, and UPI
- Thermal / A4 Printing: Browser-based printing via
react-to-print - Revenue Tracking: Daily billing overview
- Medical Timeline: Chronological vertical history view
- Past Prescriptions: Easily accessible visit records
- Fast Lookup: By Patient ID or Name
- Role-Based Access Control: Doctor & Receptionist roles
- JWT Authentication
- Responsive Design: Desktop, Tablet, Mobile
- Interactive Feedback: Toasts, loaders, and error states
- React (Vite)
- Tailwind CSS (Custom Pulse Theme)
- TanStack Query (React Query)
- React Router DOM
- Lucide React (Icons)
- React Hot Toast
- React-to-Print
- Node.js
- Express.js
- MongoDB (Mongoose)
- JWT Authentication
- Node.js v18+
- npm or yarn
- MongoDB (local or Atlas)
git clone https://github.com/yourusername/medicare-cms.git
cd medicare-cmscd server
npm installCreate a .env file inside /server:
PORT=5000
MONGO_URI=your_mongodb_connection_string
JWT_SECRET=your_super_secret_keyStart the backend:
npm run devcd client
npm installCreate a .env file inside /client:
VITE_API_BASE_URL=http://localhost:5000/api/v1Start the frontend:
npm run devFrontend runs at:
http://localhost:5173
src/
โโโ api/
โ โโโ axios.js # Axios instance with interceptors
โโโ components/
โ โโโ Layout.jsx # Sidebar & main layout
โ โโโ InvoiceReceipt.jsx # Printable invoice
โ โโโ Login.jsx
โ โโโ ...
โโโ pages/
โ โโโ ReceptionistDashboard.jsx
โ โโโ DoctorDashboard.jsx
โ โโโ PatientHistory.jsx
โ โโโ ...
โโโ context/
โ โโโ AuthContext.jsx # Auth & role handling
โโโ main.jsx # App entry point| Method | Endpoint | Description |
|---|---|---|
| POST | /auth/login |
User authentication |
| POST | /users |
Create staff user |
| GET | /users/doctors |
Fetch doctors |
| GET | /appointments/today |
Todayโs live queue |
| POST | /appointments |
Register appointment |
| POST | /patients |
Register patient |
| POST | /invoices |
Generate & mark bill paid |
The Pulse Design System ensures consistency and medical-grade clarity:
-
Primary:
Teal-600(#0D9488) โ Actions & confirmations -
Background:
Slate-50(#F8FAFC) โ Reduced eye strain -
Surface:
White(#FFFFFF) โ Cards & modals -
Text:
- Headings:
Slate-900 - Secondary:
Slate-500
- Headings:
This app uses a frontend-only print architecture:
- Hidden React components (
PrintInvoice,PrintPrescription) - Data injected on action completion
- Browser print dialog triggered
- Users choose Save as PDF or Thermal Printer
โ No backend PDF generation โ Works on all modern browsers
POST http://localhost:5000/api/users
{
"name": "Dr. John Smith",
"email": "doctor@clinic.com",
"password": "123",
"role": "Doctor",
"specialization": "Cardiologist"
}{
"name": "Sarah Jones",
"email": "reception@clinic.com",
"password": "123",
"role": "Receptionist"
}Once created, log in via the frontend.
- Admin Dashboard (UI-based staff management)
- Appointment Scheduling (Calendar View)
- Laboratory Management (Upload reports)
- Patient Portal (Self-service access)
- Inventory & Medicine Stock Management
- Fork the repository
- Create your feature branch
- Commit changes
- Push to branch
- Open a Pull Request
This project is licensed under the MIT License.
Copyright (c) 2026 TAKHELLAMBAM ADIYA SINGH
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction.
See the LICENSE file for full license text.