Starter monorepo for a microservices-based healthcare appointment and telemedicine system.
MediFlow/
├── frontend/
├── backend/
│ ├── api-gateway/
│ ├── services/
│ ├── docker-compose.yml
│ └── k8s/
├── readme.txt
└── README.md
- Copy env files:
cp .env.example .env- Copy each service
*.env.exampleto.envinside the service folder.
- Start all backend services:
docker compose -f backend/docker-compose.yml up --build
- Start frontend:
cd frontend && npm install && npm run dev
- Gateway health:
http://localhost:8081/api/health
npm run up- start backend containersnpm run up:build- rebuild and start backend containersnpm run down- stop/remove backend containersnpm run logs- follow backend logs
- Create a cluster in MongoDB Atlas.
- Add your IP to Network Access.
- Create a DB user and password.
- Set
MONGODB_URIin each service.env(copy from*.env.example).
- API Gateway (
backend/api-gateway) - Auth Service
- Patient Service
- Doctor Service
- Appointment Service
- Notification Service
- Payment Service
- Telemedicine Service
- AI Service (Gemini 3 symptom checker —
GEMINI_API_KEY/GEMINI_MODELinservices/ai-service/.env; see Gemini 3 guide)
POST /api/auth/registerPOST /api/auth/loginGET /api/auth/me(Bearer token)
GET /api/patients/profiles/me(Bearer token)POST /api/patients/profiles/me(Bearer token)PUT /api/patients/profiles/me(Bearer token)GET /api/patients/reports(Bearer token)POST /api/patients/reports/upload(multipart file field:report)
submission.txt- add GitHub + YouTube links.members.txt- add group members and IDs.readme.txt- deployment steps for submission.report.pdf- final report (add manually).