A comprehensive healthcare management system built for CSE616 Capstone Project at the University of Chittagong.
NEXCARE is a full-stack healthcare management system that enables:
- Patients to book appointments, view lab reports, and manage their health records
- Doctors to manage appointments and view patient history
- Administrators to manage users, departments, and branches
- Pathologists to upload and manage lab reports
- Online appointment booking with multi-step wizard
- View and download lab reports
- Medical history management
- Real-time notifications
- Today's appointments overview
- Patient history and records
- Appointment status management
- Lab report access
- User management (CRUD)
- Department management
- Branch management
- System statistics dashboard
- Lab report upload
- Report status management
- Patient assignment
- Runtime: Node.js with Express.js
- Database: MYSQL with Prisma ORM
- Authentication: JWT
- Real-time: Socket.io
- Password Hashing: bcryptjs
- Framework: React 18 with Vite
- Styling: TailwindCSS
- Routing: React Router v6
- HTTP Client: Axios
- Notifications: React Hot Toast
- Icons: Lucide React
nexcare/
βββ backend/
β βββ prisma/
β β βββ schema.prisma # Database schema
β β βββ seed.js # Seed data
β βββ src/
β β βββ controllers/ # Route handlers
β β βββ middleware/ # Auth & role middleware
β β βββ routes/ # API routes
β β βββ index.js # Entry point
β βββ package.json
βββ frontend/
β βββ src/
β β βββ components/ # Reusable components
β β βββ contexts/ # React contexts
β β βββ pages/ # Page components
β β β βββ admin/ # Admin pages
β β β βββ doctor/ # Doctor pages
β β β βββ patient/ # Patient pages
β β β βββ pathologist/ # Pathologist pages
β β β βββ public/ # Public pages
β β βββ services/ # API services
β βββ package.json
βββ README.md
- Node.js 18 or higher
- MySQL 8.0 or higher
- npm or yarn
-
Navigate to backend directory: cd backend
-
Install dependencies: npm install
-
Create .env file: env DATABASE_URL="mysql://username:password@localhost:3306/nexcare_db" JWT_SECRET="your-super-secret-jwt-key-change-in-production" PORT=5000
-
Generate Prisma client and run migrations: npx prisma generate npx prisma migrate dev --name init
-
Seed the database: npm run seed
-
Start the server: npm run dev
-
Navigate to frontend directory: cd frontend
-
Install dependencies: npm install
-
Start the development server: npm run dev
The app will be available at http://localhost:5173
After seeding the database, you can use these accounts:
| Role | Password | |
|---|---|---|
| Admin | admin@nexcare.com | Password123! |
| Doctor | dr.rahman@nexcare.com | Password123! |
| Patient | rahim@email.com | Password123! |
| Pathologist | pathologist@nexcare.com | Password123! |
- POST /api/auth/register - Register new user
- POST /api/auth/login - Login
- GET /api/auth/me - Get current user
- PUT /api/auth/profile - Update profile
- GET /api/appointments/slots - Get available slots
- POST /api/appointments - Book appointment
- GET /api/appointments - List appointments
- PUT /api/appointments/:id - Update appointment
- DELETE /api/appointments/:id - Cancel appointment
- GET /api/doctors - List all doctors
- GET /api/doctors/:id - Get doctor details
- GET /api/doctors/my/dashboard - Doctor dashboard
- GET /api/patients/my/dashboard - Patient dashboard
- GET /api/patients/my/appointments - Patient appointments
- GET /api/patients/my/lab-reports - Patient lab reports
- POST /api/lab-reports - Create lab report
- GET /api/lab-reports - List lab reports
- PUT /api/lab-reports/:id - Update lab report
- GET /api/users - List users
- POST /api/users - Create user
- PUT /api/users/:id - Update user
- DELETE /api/users/:id - Delete user
- GET /api/departments - List departments
- GET /api/branches - List branches
- Modern Design: Clean, professional healthcare UI
- Responsive: Works on desktop, tablet, and mobile
- Animations: Smooth transitions and micro-interactions
- Dark/Light: Optimized color palette for readability
- Accessibility: Proper contrast and keyboard navigation
- JWT-based authentication
- Password hashing with bcrypt
- Role-based access control
- Protected API routes
- Input validation
Premium landing page with hero section, services, testimonials, and CTA.

Beautiful split-screen layout with form validation.

Stats overview, upcoming appointments, and lab reports.

Today's schedule, patient list, and appointment management.

System statistics, user management, and configuration.
cd backend npm test
cd frontend npm test
This project is developed for CSE616 Capstone Project at University of Chittagong.
- Project Lead: CSE616 Students
- Course: CSE616 Capstone Project
- Institution: University of Chittagong
For questions or support, please contact:
- Email: info@nexcare.com
- Phone: +880 31-123-4567
Made with β€οΈ for better healthcare management img.shields.io
