All projects
.NET · C#

Hospital Management System

2024Backend · Console App · OOP · RBAC

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.