Skip to content

FilipBudzynski/clinic-management-system

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Clinic Management System - README

Project Description

This project was developed as part of the "Rapid App Development Tools" course in university. The Clinic Management System allows for managing doctor appointments with roles divided into administrator, doctor, and patient. The application was implemented twice: initially in ASP.NET and subsequently rewritten using FastAPI and React.

Technologies

  1. ASP.NET
  2. FastAPI
  3. React

Features

General

  • User login and registration
  • User session management
  • System protection against database access concurrency issues

Administrator Role

  • Adding, editing, and deleting users (doctors, patients)
  • Managing doctors' schedules
  • Viewing visit reports

Doctor Role

  • Viewing and managing own schedule
  • Viewing patients' visit history
  • Adding medical notes to visits

Patient Role

  • Registering for appointments
  • Viewing personal visit history
  • Editing personal information

Installation

Prerequisites

  • .NET Core SDK (for ASP.NET version)
  • Python (for FastAPI version)
  • Node.js (for React frontend)
  • A database system (e.g., PostgreSQL, MySQL)

Setup for FastAPI and React Version

Backend (FastAPI)

  1. Clone the repository:

    git clone https://github.com/FilipBudzynski/clinic-management-system.git
  2. Navigate to the project directory:

    cd clinic-management-system
  3. Create a virtual environment and activate it:

    python -m venv venv
    source venv/bin/activate  # On Windows use `venv\Scripts\activate`
  4. Install the required packages:

    cd FastApi
    pip install -r requirements.txt
  5. Set up the database connection. In FastApi direcotry create .env file and add:

    SECRET_KEY=<your secret key for JWT authorization>
    ALGORITHM=HS256
    URL_DATABASE=<your database URL>
  6. Run the application:

    uvicorn main:app --reload

Frontend (React)

Application uses static files build from the React part of the project. Therefore there is no need to run Frontend seperatly from the Backend. Although if you want to run the frontend seperatly:

  1. Navigate to the frontend directory:
    cd React/clinic-app
  2. Install the required packages:
    npm install
  3. Run the application:
    npm start

Usage

Administrator

  • Log in to the system using administrator credentials (admin, admin).
  • Manage users and doctors' schedules through the admin dashboard.

Doctor

  • Log in using doctor credentials.
  • View and manage your schedule and patient visit history.

Patient

  • Register or log in to the system.
  • Schedule appointments and view your visit history.

Screen Shots

Login Page User Visits Admin Add User Profile Page

Contributing

Contributions are welcome. Please fork the repository and create a pull request with your changes.

License

This project is licensed under the MIT License. See the LICENSE file for more details.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published