Skip to content

A comprehensive Hospital Management System built with ASP.NET Core MVC that streamlines healthcare operations. Features patient management, appointment scheduling, doctor workflows, and secure medical records - all in one professional healthcare platform.

Notifications You must be signed in to change notification settings

youssef-darrag/Hospital-Management-System

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

113 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ₯ Hospital Management System

A comprehensive web-based Hospital Management System built with ASP.NET Core MVC that streamlines hospital operations, patient management, and medical workflows.
This system provides an efficient platform for managing patients, doctors, appointments, and medical records in a healthcare environment.


πŸ“š Table of Contents


πŸš€ Features

πŸ” Authentication & Authorization

  • Role-based access control with ASP.NET Core Identity
  • Secure user registration and login
  • Custom authorization policies for different user types

πŸ₯ Core Functionalities

  • Patient Management: Full patient profiles, medical history, and records
  • Doctor Management: Schedules, specialties, and availability
  • Appointment System: Book, reschedule, and manage appointments
  • Medical Records: Securely store and manage patient data
  • Department Management: Organize hospital departments and services

πŸ’» Technical Features

  • Responsive UI with Bootstrap 5
  • Data access via Entity Framework Core
  • Repository Pattern and Dependency Injection for clean architecture
  • MVC Architecture ensuring separation of concerns
  • Integrated SQL Server Database
  • Dynamic rendering with Razor Pages

πŸ’» Technologies Used

🧠 Backend

  • ASP.NET Core 9.0 – Web framework
  • Entity Framework Core – ORM
  • ASP.NET Core Identity – Authentication
  • Dependency Injection – Loosely coupled architecture
  • Repository Pattern – Data abstraction layer

🎨 Frontend

  • Bootstrap 5 – Responsive design
  • Razor Syntax – Server-side rendering
  • HTML5 / CSS3 / JavaScript – Client-side UI

πŸ—„ Database

  • SQL Server – Primary database
  • EF Core Migrations – Database versioning and schema management

πŸ“ Project Structure

Hospital-Management-System/
β”‚
β”œβ”€β”€ πŸ“ Hospital.Core/                                # Core Domain Layer
β”‚   β”‚
β”‚   β”œβ”€β”€ πŸ“ Consts/                                   # Constant Files
β”‚   β”‚   β”œβ”€β”€ ImagePaths.cs
β”‚   β”‚   β”œβ”€β”€ OrderBy.cs
β”‚   β”‚   └── WebSiteRoles.cs
β”‚   β”‚
β”‚   β”œβ”€β”€ πŸ“ Helpers/                                  # Helper Classes
β”‚   β”‚   β”œβ”€β”€ EmailSender.cs
β”‚   β”‚   β”œβ”€β”€ GenericResponse.cs
β”‚   β”‚   β”œβ”€β”€ IDbInitializer.cs
β”‚   β”‚   β”œβ”€β”€ ImageOperation.cs
β”‚   β”‚   └── PagedResult.cs
β”‚   β”‚
β”‚   β”œβ”€β”€ πŸ“ Hubs/                                     # Hubs
β”‚   β”‚   └── NotificationHub.cs
β”‚   β”‚
β”‚   β”œβ”€β”€ πŸ“ Models/                                   # Entity Models
β”‚   β”‚   β”œβ”€β”€ ApplicationUser.cs
β”‚   β”‚   β”œβ”€β”€ Appointment.cs
β”‚   β”‚   β”œβ”€β”€ Bill.cs
β”‚   β”‚   β”œβ”€β”€ Contact.cs
β”‚   β”‚   β”œβ”€β”€ Department.cs
β”‚   β”‚   β”œβ”€β”€ HospitalInfo.cs
β”‚   β”‚   β”œβ”€β”€ Insurance.cs
β”‚   β”‚   β”œβ”€β”€ Lab.cs
β”‚   β”‚   β”œβ”€β”€ Medicine.cs
β”‚   β”‚   β”œβ”€β”€ MedicineReport.cs
β”‚   β”‚   β”œβ”€β”€ Notification.cs
β”‚   β”‚   β”œβ”€β”€ PatientReport.cs
β”‚   β”‚   β”œβ”€β”€ Payroll.cs
β”‚   β”‚   β”œβ”€β”€ PrescribedMedicine.cs
β”‚   β”‚   β”œβ”€β”€ Room.cs
β”‚   β”‚   β”œβ”€β”€ Supplier.cs
β”‚   β”‚   β”œβ”€β”€ TestPrice.cs
β”‚   β”‚   └── Timing.cs
β”‚   β”‚
β”‚   β”œβ”€β”€ πŸ“ Repositories/                             # Repository Interfaces
β”‚   β”‚   β”œβ”€β”€ IGenericRepository.cs
β”‚   β”‚   └── IUnitOfWork.cs
β”‚   β”‚
β”‚   β”œβ”€β”€ πŸ“ Services/                                 # Service Interfaces
β”‚   β”‚   β”œβ”€β”€ IApplicationUserService.cs
β”‚   β”‚   β”œβ”€β”€ IAppointmentService.cs
β”‚   β”‚   β”œβ”€β”€ IContactService.cs
β”‚   β”‚   β”œβ”€β”€ IDoctorService.cs
β”‚   β”‚   β”œβ”€β”€ IHospitalInfoService.cs
β”‚   β”‚   β”œβ”€β”€ INotificationService.cs
β”‚   β”‚   β”œβ”€β”€ IRoomService.cs
β”‚   β”‚   └── ITimingService.cs
β”‚   β”‚
β”‚   β”œβ”€β”€ πŸ“ Settings/                                 # Settings
β”‚   β”‚   └── FileSettings.cs
β”‚   β”‚
β”‚   β”œβ”€β”€ πŸ“ ViewModels/                               # View Models
β”‚   β”‚   β”œβ”€β”€ ApplicationUserViewModel.cs
β”‚   β”‚   β”œβ”€β”€ BookAppointmentViewModel.cs
β”‚   β”‚   β”œβ”€β”€ ContactViewModel.cs
β”‚   β”‚   β”œβ”€β”€ DoctorViewModel.cs
β”‚   β”‚   β”œβ”€β”€ HospitalInfoViewModel.cs
β”‚   β”‚   β”œβ”€β”€ NotificationsViewModel.cs
β”‚   β”‚   β”œβ”€β”€ RoomViewModel.cs
β”‚   β”‚   β”œβ”€β”€ SlotViewModel.cs
β”‚   β”‚   └── TimingViewModel.cs
β”‚   β”‚
β”‚   └── πŸ“„ Hospital.Core.csproj
β”‚
β”œβ”€β”€ πŸ“ Hospital.EF/                                  # Data Access Layer
β”‚   β”‚
β”‚   β”œβ”€β”€ πŸ“ Helpers/                                  # Helper Classes
β”‚   β”‚   β”œβ”€β”€ DbInitializer.cs
β”‚   β”‚   └── NameIdentifierUserIdProvider.cs
β”‚   β”‚
β”‚   β”œβ”€β”€ πŸ“ Migrations/                               # EF Core Migrations
β”‚   β”‚
β”‚   β”œβ”€β”€ πŸ“ Repositories/                             # Repository Implementations
β”‚   β”‚   β”œβ”€β”€ GenericRepository.cs
β”‚   β”‚   └── UnitOfWork.cs
β”‚   β”‚
β”‚   β”œβ”€β”€ πŸ“ Services/                                 # Service Implementations
β”‚   β”‚   β”œβ”€β”€ ApplicationUserService.cs
β”‚   β”‚   β”œβ”€β”€ AppointmentService.cs
β”‚   β”‚   β”œβ”€β”€ ContactService.cs
β”‚   β”‚   β”œβ”€β”€ DoctorService.cs
β”‚   β”‚   β”œβ”€β”€ HospitalInfoService.cs
β”‚   β”‚   β”œβ”€β”€ NotificationService.cs
β”‚   β”‚   β”œβ”€β”€ RoomService.cs
β”‚   β”‚   └── TimingService.cs
|   β”‚
β”‚   β”œβ”€β”€ ApplicationDbContext.cs
β”‚   └── Hospital.EF.csproj
β”‚
β”œβ”€β”€ πŸ“ Hospital.Web/                                # Web API Layer
β”‚   β”‚
β”‚   β”œβ”€β”€ πŸ“ Areas/
β”‚   β”‚   β”œβ”€β”€ πŸ“ Admin/
β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“ Controllers/                     # API Controllers
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ ApplicationUsersController.cs
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ AppointmentsController.cs
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ ContactsController.cs
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ DoctorsController.cs
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ HomeController.cs
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ HospitalsController.cs
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ NotificationsController.cs
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ RoomsController.cs
β”‚   β”‚   β”‚   β”‚   └── TimingsController.cs
β”‚   β”‚   β”‚   β”‚
β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“ Views/                           # Views
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“ ApplicationUsers/
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“ Appointments/
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“ Contacts/
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“ Doctors/
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“ Home/
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“ Hospitals/
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“ Notifications/
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“ Rooms/
β”‚   β”‚   β”‚   β”‚   └── πŸ“ Timings/
β”‚   β”‚   β”‚
β”‚   β”‚   β”œβ”€β”€ πŸ“ Identity/Pages/
β”‚   β”‚   β”‚
β”‚   β”‚   β”œβ”€β”€ _ViewImports.cshtml
β”‚   β”‚   └── _ViewStart.cshtml
β”‚   β”‚
β”‚   β”œβ”€β”€ πŸ“ Properties/
β”‚   β”‚   └️ launchSettings.json
β”‚   β”‚
β”‚   β”œβ”€β”€ πŸ“ wwwroot/
β”‚   β”‚
β”‚   β”œβ”€β”€ Hospital.Web.csproj
β”‚   β”œβ”€β”€ Program.cs
β”‚   β”œβ”€β”€ appsettings.Development.json
β”‚   β”œβ”€β”€ appsettings.json
β”‚   └── libman.json

πŸ”§ Installation & Setup

🧩 Prerequisites

βš™ Steps

  1. Clone the repository

    git clone https://github.com/youssef-darrag/Hospital-Management-System.git
    
  2. Configure the database connection Update the connection string in appsettings.json.

  3. Apply migrations

    dotnet ef database update
    
  4. Run the application

    dotnet run
    

🎯 Key Implementation Details

πŸ— Architecture Patterns

  • MVC Pattern – Separation between Model, View, and Controller
  • Repository Pattern – Abstracted data access
  • Dependency Injection – Inversion of control for better testability

πŸ”’ Security Features

  • Password hashing & salting
  • Role-based authorization
  • Secure session management
  • Input validation and sanitization

πŸ—ƒ Database Design

  • Normalized schema
  • Defined relationships between entities
  • Indexed columns for performance
  • Foreign key constraints for integrity

🌟 Professional Skills Demonstrated

πŸ‘¨β€πŸ’» Backend Development

  • ASP.NET Core MVC
  • Entity Framework Core
  • Authentication & Authorization
  • RESTful API Design
  • Database optimization

πŸ’… Frontend Development

  • Responsive design with Bootstrap
  • Client-side validation
  • AJAX integration
  • Enhanced UX/UI

🧩 Software Engineering

  • Clean code & architecture
  • Version control (Git)
  • Debugging & optimization
  • Scalable project design

πŸ“Š Future Enhancements

  • Real-time notifications
  • Advanced reporting and analytics
  • Mobile app integration
  • AI-powered appointment suggestions
  • Telemedicine features

πŸ“„ License

This project is licensed under the MIT License – see the LICENSE file for details.


🀝 Contributing

Contributions, issues, and feature requests are welcome! Feel free to check the issues page and submit a pull request.

About

A comprehensive Hospital Management System built with ASP.NET Core MVC that streamlines healthcare operations. Features patient management, appointment scheduling, doctor workflows, and secure medical records - all in one professional healthcare platform.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published