NexCare is a unified digital health ecosystem that connects patients, doctors, and pharmacies on a single platform — from booking a consultation to getting a digital prescription to having medicines delivered to your door. One login. One platform. Zero friction.
- 💡 The Problem
- ✨ The Solution
- 📸 Product Preview
- ⚡ Features
- 🧠 Tech Stack
- 🏗️ System Architecture
- 📂 Project Structure
- 🚀 Getting Started
- 🔐 Environment Variables
- 🗺️ Roadmap
- 👥 Team
- 🤝 Contributing
- ⭐ Star History
- 📬 Connect
Healthcare access today is broken into silos:
| Pain Point | Reality Today |
|---|---|
| 🏥 Fragmented Journey | Booking a doctor, getting a prescription, and ordering medicines happen on 3 different apps (or none at all) |
| ⏳ Time-Consuming | Long queues, manual paperwork, and repeated history-sharing at every visit |
| 📍 Limited Access | Quality specialists are concentrated in cities, leaving smaller towns underserved |
| 🧾 No Continuity | Prescriptions and health records get lost between visits, doctors, and pharmacies |
NexCare unifies the entire care loop — consultation → prescription → medication — into a single, role-aware platform for Patients, Doctors, and Pharmacies.
Patient books appointment → Doctor consults & prescribes → Pharmacy fulfills & delivers
🧑💻 🩺 💊
We're not building "just another booking app" — we're building the connective tissue of digital healthcare, with AI-assisted triage, real-time communication, and a payments layer baked in from day one.
🧑💻 Patient Dashboard |
🩺 Doctor Dashboard |
💊 Pharmacy Portal |
🧾 Digital Prescription |
| 🧑💻 Patient | 🩺 Doctor | 💊 Pharmacy |
|---|---|---|
|
|
|
| Legend | Meaning |
|---|---|
| ✅ | Shipped & working |
| 🔄 | In active development |
| 🔜 | Planned / Upcoming |
| Layer | Technologies |
|---|---|
| Frontend | React.js, TypeScript, Vite, Tailwind CSS, Axios |
| Backend | Go, Gin Framework, REST APIs, WebSockets (Gorilla) |
| Database | PostgreSQL (Supabase), JSONB for flexible health records, Redis for caching/sessions |
| AI / LLM | Agentic AI pipeline for symptom checking with voice input |
| Payments | Razorpay API for appointment booking & checkout |
| Cloud & DevOps | Docker, AWS (EC2, S3), Render, Netlify, GitHub Actions (CI/CD) |
flowchart TB
subgraph Client["🖥️ Frontend — React + Vite + TypeScript"]
UI["Patient · Doctor · Pharmacy Portals"]
end
subgraph Server["⚙️ Backend — Go + Gin"]
API["REST API Layer"]
MW["JWT Auth + Role-Based Access Control"]
SVC["Core Services — Appointments, Prescriptions, Orders"]
AI["AI Symptom Checker (Voice Input)"]
WS["WebSocket Layer (Gorilla) — Realtime Chat & Video — Upcoming"]
end
subgraph Data["🗄️ Data Layer"]
PG[("PostgreSQL + JSONB\n(Supabase)")]
REDIS[("Redis\nSession & Cache")]
end
subgraph External["🔌 External Integrations"]
PAY["Razorpay Payments"]
PUB["Notifications — Upcoming"]
end
UI -- "HTTPS / REST" --> API
UI -. "WebSocket (Upcoming)" .-> WS
API --> MW --> SVC
SVC --> PG
SVC --> REDIS
SVC --> PAY
SVC --> AI
WS --> SVC
SVC -.-> PUB
🔹 Backend (Go + Gin)
backend/
├── config/
│ ├── db.go
│ └── redis.go
│
├── controllers/
│ ├── doctor.go
│ ├── patient.go
│ └── users.go
│
├── middleware/
│
├── models/
│ ├── DoctorModel.go
│ ├── PatientModel.go
│ └── UserModel.go
│
├── routes/
│
├── util/
│
├── .env
├── go.mod
├── go.sum
└── main.go
🔹 Frontend (React + Vite + TypeScript)
client/
├── src/
│ ├── components/
│ ├── guidelines/
│ ├── styles/
│ ├── utils/
│ ├── App.tsx
│ └── main.tsx
│
├── index.html
├── package.json
├── vite.config.ts
└── .env
git clone https://github.com/imanmay2/NexCare.git
cd NexCarecd backend
go mod tidy
go run main.gocd client
npm install
npm run dev🎉 The app should now be running locally — backend on http://localhost:8080 and frontend on http://localhost:5173.
Backend .env
PORT=8080
DATABASE_URL=your_postgresql_url
JWT_SECRET=your_jwt_secret
REDIS_URL=your_redis_url
RAZORPAY_KEY_ID=your_razorpay_key
RAZORPAY_KEY_SECRET=your_razorpay_secretFrontend .env
VITE_API_BASE_URL=http://localhost:8080
VITE_RAZORPAY_KEY=your_razorpay_public_key- Core REST APIs (Patients, Doctors, Pharmacies)
- JWT authentication & role-based access control
- PostgreSQL + JSONB health records
- Razorpay payment integration
- AI-powered symptom checker with voice input
- Redis session caching — in progress
- Real-time chat via WebSockets (Gorilla)
- Video & audio consultations (WebRTC)
- Notification system
- Health analytics dashboard
- Pharmacy inventory & delivery tracking
NexCare is built by a small, focused team combining engineering depth with real-world medical insight.
![]() Manmay Chakraborty 💻 Backend & System Design GitHub · LinkedIn |
![]() Soumadeep Choudhury (MBBS) 🩺 Medical Insights & Product Direction GitHub |
Contributions, issues, and feature requests are welcome!
- Fork the project
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request







