A modern, responsive, and secure web application for managing medical appointments. Designed for administrators, doctors, and patients with features like light/dark mode, user roles, calendar scheduling, and exportable reports.
- π Role-based access (Admin, Doctor, Patient)
- ποΈ Appointment scheduling with calendar
- βοΈ Cloudinary image upload integration
- π Export reports (PDF & Excel)
- π Light/Dark mode toggle
- π Dashboard with real-time stats
- π± Fully responsive interface
medidesk/
βββ MediDesk.sln
βββ Api/ # REST API (.NET 8)
β βββ Controllers/ # API endpoints
β βββ Repositories/ # Data access layer
β βββ cloudinary.json.example
β βββ appsettings.json
β βββ appsettings.Local.json.example
β βββ Program.cs
βββ Web/ # ASP.NET Core MVC frontend
β βββ Controllers/
β βββ Views/
β βββ wwwroot/
β βββ appsettings.json
β βββ appsettings.Local.json.example
βββ Shared/ # Shared DTOs & models
β βββ DTOs/
βββ Database/ # Database scripts
β βββ schema.sql
β βββ data.sql
β βββ Procedures/
β βββ init.sql
βββ LICENSE
Follow these steps to run the project locally:
git clone https://github.com/jaycodev/medidesk.git
cd medideskCopy the example config files and edit them with your values:
cp Api/cloudinary.json.example Api/cloudinary.json
cp Api/appsettings.Local.json.example Api/appsettings.Local.json
cp Web/appsettings.Local.json.example Web/appsettings.Local.json{
"Cloudinary": {
"CloudName": "your_cloud_name",
"ApiKey": "your_api_key",
"ApiSecret": "your_api_secret"
}
}{
"ConnectionStrings": {
"DB": "server=YOUR_SERVER; database=MediDesk; Integrated Security=true; TrustServerCertificate=true"
}
}Open init.sql in SQL Server Management Studio (SSMS) with SQLCMD Mode enabled
Edit the path variable if needed:
:setvar DatabasePath "C:\Repositories\medidesk\Database"Then execute the script to create schema, seed data, and procedures.
Open MediDesk.sln and start both projects:
- Api β REST API (.NET 8, Swagger enabled)
- Web β ASP.NET Core MVC frontend
- Backend API: ASP.NET Core 8 (Minimal hosting, Swagger, Repositories pattern)
- Frontend: ASP.NET Core MVC (Razor Views, Bootstrap, jQuery, DataTables)
- Database: SQL Server 2019+
- Cloud Storage: Cloudinary for image management
- Authentication: Custom role-based system (Admin, Doctor, Patient)
- PDF Generation: iText7 (
9.2.0) - Excel Export: ClosedXML (
0.105.0) - UI Enhancements: Bootstrap, Modernizr, Light/Dark mode toggle
- Client-Side Validation: jQuery Validation + Unobtrusive
All scripts are inside /Database/.
Use init.sql for a complete setup, or run schema.sql, data.sql, and individual scripts from /Procedures/.
This project is licensed under the MIT License.