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.
- ASP.NET
- FastAPI
- React
- User login and registration
- User session management
- System protection against database access concurrency issues
- Adding, editing, and deleting users (doctors, patients)
- Managing doctors' schedules
- Viewing visit reports
- Viewing and managing own schedule
- Viewing patients' visit history
- Adding medical notes to visits
- Registering for appointments
- Viewing personal visit history
- Editing personal information
- .NET Core SDK (for ASP.NET version)
- Python (for FastAPI version)
- Node.js (for React frontend)
- A database system (e.g., PostgreSQL, MySQL)
-
Clone the repository:
git clone https://github.com/FilipBudzynski/clinic-management-system.git
-
Navigate to the project directory:
cd clinic-management-system
-
Create a virtual environment and activate it:
python -m venv venv source venv/bin/activate # On Windows use `venv\Scripts\activate`
-
Install the required packages:
cd FastApi pip install -r requirements.txt
-
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>
-
Run the application:
uvicorn main:app --reload
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:
- Navigate to the frontend directory:
cd React/clinic-app
- Install the required packages:
npm install
- Run the application:
npm start
- Log in to the system using administrator credentials (admin, admin).
- Manage users and doctors' schedules through the admin dashboard.
- Log in using doctor credentials.
- View and manage your schedule and patient visit history.
- Register or log in to the system.
- Schedule appointments and view your visit history.
Contributions are welcome. Please fork the repository and create a pull request with your changes.
This project is licensed under the MIT License. See the LICENSE file for more details.