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
- Host: GitHub
- URL: https://github.com/080bct12alex/medixapi
- Owner: 080bct12alex
- Created: 2025-07-13T17:10:02.000Z (12 months ago)
- Default Branch: main
- Last Pushed: 2025-07-19T17:14:23.000Z (12 months ago)
- Last Synced: 2025-07-19T18:37:01.974Z (12 months ago)
- Topics: fastapi
- Language: Python
- Homepage:
- Size: 39.1 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
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)