Healthcare appointment system
Doctor appointment booking with an admin dashboard: a React and TypeScript front end, a .NET 8 API with JWT authentication, and Docker and Kubernetes setups.
- Type
- Personal, Open source
- Year
- 2025
Overview
A full-stack system for booking doctor appointments. Patients book and check their bookings; admins manage doctors, their available times, bookings and admin users from a protected dashboard.
Architecture
A React and Vite single-page app calls a .NET 8 MVC Web API that uses Entity Framework Core over SQLite and JWT authentication for admin endpoints. Both sides ship as Docker images, with a Compose file for local runs and Kubernetes manifests (deployments, services and a persistent volume) for clusters.
- React + Vite
- REST with JWT
- .NET 8 API
- EF Core + SQLite
Key features
- Appointment booking and booking status
- Admin dashboard for users, doctors, timings and bookings
- Protected admin routes in the front end and JWT-secured APIs
- Swagger UI for exploring the API
- Docker Compose and Kubernetes manifests
Challenges and decisions
Vite bakes environment variables into the build, so the API address can't be changed at deploy time.
Documented the right API URL for each target (local, Docker Compose and Kubernetes) and built the front-end image for the environment it runs in.