Welcome to the Hospital Management System project. This application is designed to streamline hospital operations and enhance patient care.
This application provides the following features:
- Role-based access control (RBAC) with different levels of permissions for administrators, doctors, and patients.
- Secure authentication using JWT tokens.
- Profile management for users, including personal details and contact information.
- Schedule, update, and cancel appointments.
- Notifications for upcoming appointments via email or SMS.
- Overlapping and duplicate appointment prevention.
- Doctor availability check and appointment status updates.
- Management of hospital departments and their associated doctors.
- Display of department-specific information.
- Scheduling and execution of background tasks using Quartz.NET.
- Separation of concerns through layered architecture, promoting maintainability and scalability.
- Integration with various external systems and services.
The key technologies used include:
- C#
- Microsoft SQL Server
- ASP.NET Core
- Entity Framework Core
- Onion Architecture
- FluentValidation
- AutoMapper
- CQRS and MediatR
- Quartz.NET
- MassTransit
- JWT Authentication
- Stripe
- Swagger
- Postman
- Serilog
- Docker
- Azure Blob Storage
- RabbitMQ
- Git
To get started with the project, make sure you have the required tools and dependencies installed.
1.Clone this repository:
-
git clone https://github.com/i-revan/Hospital-Management-System.git
- Navigate to the project directory:
-
cd Hospital-Management-System
- Install Dependencies
-
dotnet restore
- Configure the connection string in appsettings.json.
- Run the migrations:
-
dotnet ef database update
-
dotnet run
Visit the following link for API documentation and testing: https://localhost:5001/swagger
Contributions are welcome. Please create an issue or pull request if you'd like to contribute to this project.