Hospital Management System
Hospital Management System is a C# .NET 8 console application for a hospital's day-to-day operations — patient and doctor records, appointment booking, and user management — all behind role-based logins for four user types: administrator, doctor, patient, and receptionist. Data persists to disk as JSON. Built solo.
The part I'm most proud of is the terminal UI. Instead of the usual blocking Console.ReadLine prompts, I built a small page-and-menu framework where every page lays itself out from the current console width — and a background thread watches for the window being resized and re-renders the page the moment it changes, so the layout never breaks mid-use. Keyboard input and the "go back" handler each run on their own threads so they never block that redraw loop, and confirmation emails are sent over SMTP on a background thread to keep the console responsive.
Key features & challenges
- Hand-built terminal UI framework — role-based menus, boxes, tables, and forms.
- Live re-render on window resize: a background thread watches console width and redraws so the layout never breaks.
- Non-blocking input, navigation, and SMTP email on separate threads keep the console responsive.
- Four-role RBAC (administrator / doctor / patient / receptionist) with JSON persistence.
My contributions
- Solo project — designed and built the whole system: data models, JSON persistence, RBAC, the terminal UI framework, and email.
- Built the resize-aware render loop and page/menu framework (pages, menus, boxes, tables, forms).
- Used background threads (System.Threading) for non-blocking input, navigation, and SMTP email.