Logo Lanfrica

rolandjansumana/Clinic_service_api-

Domain:

healthcaredigital infrastructure

Record type:

software
Creator:
rol
Host:
A FastAPI-based REST API for searching local clinic services in Sierra Leone, managing clinic listings, booking appointments, and collecting patient reviews. # Clinic Service API A FastAPI-based REST API for searching local clinic services in Sierra Leone, managing clinic listings, booking appointments, and collecting patient reviews. ## Project Alignment - **Course requirement:** FastAPI industry-standard REST API for Object-Oriented Programming 2. - **Selected domain:** Clinic Service API for searching local clinic services. - **SDG alignment:** SDG 3, Good Health and Well-being, by improving discoverability of local health services. - **Sierra Leone problem focus:** Patients often struggle to find nearby clinics, available services, operating hours, and contact details quickly. This API centralizes that information and supports appointment booking. ## Features - JWT authentication with password hashing. - Role-based access control for `admin`, `staff`, and `patient`. - PostgreSQL database integration through SQLAlchemy ORM. - Dependency injection for database sessions and authenticated users. - CRUD endpoints for clinics, clinic services, appointments, reviews, and users. - Clinic search by keyword, city, district, service name, and open-now status. - Async appointment confirmation simulation using `async`/`await`. - Swagger UI at `/docs` and ReDoc at `/redoc`. - MIT open-source license. ## Tech Stack - Python 3.11+ - FastAPI - SQLAlchemy ORM - PostgreSQL - Psycopg - JWT via `python-jose` - Password hashing via `passlib[bcrypt]` ## Project Structure ```text app/ api/ Versioned route modules and dependencies core/ Settings and security utilities db/ SQLAlchemy engine, session, and table initialization models/ ORM models schemas/ Pydantic request/response schemas services/ Async service-layer tasks docs/ Report, demo guide, and screenshots scripts/ Database creation and seed scripts tests/ API tests ``` ## Setup 1. Create and activate a virtual environment. ```bash python -m venv .venv .venv\Scrip …

Licenses