An open API service indexing awesome lists of open source software.

https://github.com/080bct12alex/medixapi

a beginner-friendly project designed to learn how to build RESTful APIs using FastAPI
https://github.com/080bct12alex/medixapi

fastapi

Last synced: 10 months ago
JSON representation

a beginner-friendly project designed to learn how to build RESTful APIs using FastAPI

Awesome Lists containing this project

README

          

# 🧠 Patient Management System (FastAPI production-ready backend Project)

A **FastAPI**-powered RESTful backend simulates a real-world use case of managing patient health records, including BMI calculations and automatic health verdicts with doctor-based data isolation, and a secure JWT-based login system β€” ideal for **Flask transitioning to FastAPI** or learning scalable modern Python APIs development.

πŸ“Œ Began as a FastAPI learning journey Project , evolved into a production-ready backend project.

## 🌐 Live Docs

You can explore and test the API using the live Swagger documentation hosted here:

**[https://medixapi.onrender.com/docs](https://medixapi.onrender.com/docs)**

This is the deployed version of the Patient Management System API, fully functional and ready to use.

## 🌍 **Frontend Website:**
[https://medix-neon.vercel.app](https://medix-neon.vercel.app)

## πŸ’» **Frontend GitHub Repository:**
[https://github.com/080bct12alex/MedixUI](https://github.com/080bct12alex/MedixUI)

## βœ… Key Features

- πŸ” JWT-authenticated API access

- πŸ‘¨β€βš•οΈ Doctor-Based Access Control
- πŸ“‹ View all patients

- πŸ” Retrieve a patient by ID

- βž• Add new patient records

- πŸ›  Update patient information

- πŸ—‘ Delete a patient

- πŸ“Š Sort by `_id`, `latest_diagnosis_date`, `latest_condition`, `age`,`height`, `weight`.

- οΏ½οΏ½ Automatically calculate BMI and assign a health category (`Underweight`, `Normal`, `Obese`)
- 🩺 Diagnosis Tracking
- Track each patient’s medical diagnosis history .
- πŸ“š Diagnosis-Based Grouping
- Group patients by `disease` , `condition` .

- Filter patients based on `Disease name` , `Condition` , `Diagnosis` `date`.

----------

## πŸ›  Tech Stack

- **Language:** Python

- **Framework:** FastAPI

- **Database:** MongoDB (via Beanie ODM + Motor async driver)

- **Tools:**

- Uvicorn (ASGI server)

- Pydantic (data validation)

- Passlib (password hashing)

- PyJWT (JWT token handling)

- Docker (containerization)

- Ruff (linter/formatter)

- Pytest (unit testing framework)

- GitHub Actions ( CI/CD Integration )


- **Frontend:** Next.js (integrated)