The Clinic Management System is a real-world backend project designed to solve actual problems faced by medical clinics — not just a simple CRUD application.
The system is built with scalability, maintainability, and real business rules in mind using ASP.NET Core and Clean Architecture.
The project is developed in clear phases, each phase targeting a specific business goal.
Efficiently manage clinic time and prevent conflicts between:
- Doctors
- Patients
- Sessions
What has been achieved:
- Prevent overlapping appointments
- Validate appointment date and time before starting a session
- Link sessions only to confirmed appointments
- Full control over the appointment lifecycle
Deliver smart notifications to doctors and patients based on clear business rules.
Examples implemented:
- Appointment reminders for patients 24 hours before the scheduled time using a background service.
Planned / Future support:
- Notifications for appointment cancellation or rescheduling
Implemented channel:
- SMS notifications via Twilio (extensible for future channels)
Integrate an online payment gateway to manage clinic payments.
This goal requires significant effort and time because it targets a real and common problem in clinics.
Purpose:
- Organize payment operations
- Link payments to sessions and services
- Support multiple payment methods in the future
The following core features have been completed:
-
👨⚕️ Doctor Management
-
👤 Patient Management
-
📅 Appointment Booking
-
✅ Appointment Confirmation
-
🧾 Session Management
- Create Session
- Start Session
- Complete Session
- Patient books an appointment
- Reception confirms the appointment
- Patient arrives at the clinic
- Session is created
- Session starts
- Session is completed
- 🗂 Medical Records
- 💊 Prescriptions
- 🔔 Full Notification System
- 💳 Payment Gateway Integration
The project follows Clean Architecture, using the same approach previously applied in the:
-
Domain Layer
- Entities
- Value Objects
- Business Rules
-
Application Layer
- Use Cases (CQRS: Commands & Queries)
- DTOs
- Interfaces
-
Infrastructure Layer
- Entity Framework Core
- Repository Implementations
- External Services (SMS, Payment Gateways)
-
Presentation Layer (API)
- Controllers
- API Versioning
- Request & Response Handling
The database is designed to support real-world relationships and future scalability.
- Doctors
- Patients
- Appointments
- Sessions
- MedicalRecords (Planned)
- Prescriptions (Planned)
- Payments (Planned)
- ASP.NET Core Web API
- Clean Architecture
- CQRS with MediatR
- Entity Framework Core
- SQL Server
- API Versioning
- Logging & Validation
- ✅ Goal 1: Completed (Time Management)
- 🚧 Goal 2: In Progress (Notifications)
- 🔜 Goal 3: Planned (Payments)
This project is real-world oriented, focusing on:
- Proper architectural design
- Real business rules
- Scalability and maintainability
Moaz Ashour Backend Developer (.NET) Clean Architecture | Real-world Systems