🌐 Live Demo: https://doc-wise-health.vercel.app/
Doc Wise is a full‑stack hospital appointment platform built with MERN stack, featuring three integrated apps in one monorepo:
- 👨⚕️ Patient Frontend (
/frontend): Browse doctors, book and pay for appointments, manage profile - 🩺 Doctor Panel (
/admin/Doctorin backend API): Doctors interact via backend-secured endpoints and tokens - ⚙️ Admin Panel (
/admin): Manage doctors, toggle availability, view/cancel appointments, dashboards
This monorepo leverages React 19 + Vite 7 + Tailwind CSS 4 on the frontend(s) and an Express 5, Mongoose 8 API backend with Cloudinary uploads and PayHere payments (LKR).
- ⚛️ React 19 with Vite 7
- 🛣️ React Router 7
- 🎨 Tailwind CSS 4
- 📡 Axios
- 🔔 React Toastify
- 🟢 Node.js with Express 5
- 🍃 MongoDB via Mongoose 8
- 🔐 JWT Authentication
- 📤 Multer for file uploads
- ☁️ Cloudinary for media storage
- 🔒 Bcrypt for password hashing
- ✅ Validator for data validation
- 🗄️ MongoDB (connection via MONGODB_URI)
- 💳 PayHere payment gateway (LKR) with return/cancel/notify URLs
📦 Doc-Wise/
├── 🎛️ admin/ # React Admin Panel (Vite)
├── 🔧 backend/ # Express API server (MongoDB, Cloudinary, PayHere)
└── 💻 frontend/ # React Patient Frontend (Vite)
- 🏥 Frontend (Patients): Runs at port
5173in development - ⚙️ Admin Panel: Runs at port
5174in development - 🔧 Backend API: Runs at
PORT(default4000). API routes:- 👤
/api/user- Patient operations - 👨⚕️
/api/doctor- Doctor operations - 🔐
/api/admin- Admin operations
- 👤
Prerequisites: Node 18+, npm, MongoDB URI, Cloudinary credentials, PayHere merchant credentials
cd backend && npm install
cd ../frontend && npm install
cd ../admin && npm installConfigure environment variables for each app (see individual README files for details)
# Terminal A - Backend
cd backend
npm run server
# Terminal B - Frontend
cd frontend
npm run dev
# Terminal C - Admin Panel
cd admin
npm run devDevelopment ports:
- 🏥 Frontend:
http://localhost:5173 - ⚙️ Admin:
http://localhost:5174 - 🔧 Backend:
http://localhost:4000
See component READMEs for app‑specific instructions:
- 💻
frontend/README.md- Patient Frontend documentation - ⚙️
admin/README.md- Admin Panel documentation - 🔧
backend/README.md- Backend API documentation