Skip to content

jayvidev/medidesk

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

303 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

.NET Bootstrap

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.

πŸš€ Features

  • πŸ” 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

πŸ“‚ Project Structure

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

πŸ”§ Setup Instructions

Follow these steps to run the project locally:

1. Clone the repository

git clone https://github.com/jaycodev/medidesk.git
cd medidesk

2. Configure settings

Copy 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.json

{
  "Cloudinary": {
    "CloudName": "your_cloud_name",
    "ApiKey": "your_api_key",
    "ApiSecret": "your_api_secret"
  }
}

appsettings.Local.json

{
  "ConnectionStrings": {
    "DB": "server=YOUR_SERVER; database=MediDesk; Integrated Security=true; TrustServerCertificate=true"
  }
}

3. Set up the database

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.

4. Run the solution

Open MediDesk.sln and start both projects:

  • Api β†’ REST API (.NET 8, Swagger enabled)
  • Web β†’ ASP.NET Core MVC frontend

πŸ› οΈ Tech Stack

  • 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

πŸ’Ύ Database

All scripts are inside /Database/.
Use init.sql for a complete setup, or run schema.sql, data.sql, and individual scripts from /Procedures/.

πŸ§‘β€πŸ’» Contributors

πŸ“„ License

This project is licensed under the MIT License.

About

πŸ₯ Web medical appointment system, built with .NET Core, SQL Server & Bootstrap.

Topics

Resources

License

Stars

Watchers

Forks

Contributors