Skip to content

Repository files navigation

🏥 ElderCare360 – FastAPI Backend API

Python FastAPI PostgreSQL Docker License GitHub Actions

A production-style REST API built with FastAPI for managing senior living communities.

This project demonstrates backend development concepts including:

  • JWT Authentication
  • Role-Based Authorization (RBAC)
  • PostgreSQL
  • SQLAlchemy ORM
  • Alembic Migrations
  • Docker
  • GitHub Actions CI/CD
  • API Versioning
  • Logging
  • Testing
  • Caching

🌐 Live Demo

API Base URL: https://eldercare360-fastapi.onrender.com

Swagger UI: https://eldercare360-fastapi.onrender.com/docs


📌 Project Status

🚧 Active Development

This project is being continuously enhanced as part of a backend engineering learning roadmap. New features and improvements are added regularly.


🚀 Features

Core Modules

  • Resident Management
  • Billing Management
  • Staff Management

Security

  • JWT Authentication
  • Role-Based Authorization (RBAC)

Backend

  • SQLAlchemy ORM
  • PostgreSQL Database
  • Alembic Migrations
  • Docker & Docker Compose
  • API Versioning (v1 & v2)
  • Response Caching
  • Global Exception Handling
  • Request Validation
  • Background Tasks
  • File Upload
  • Pagination
  • Search & Sorting

Quality

  • Unit Testing (Pytest)
  • GitHub Actions CI

🛠 Tech Stack

  • FastAPI
  • Python 3.13
  • PostgreSQL
  • SQLAlchemy
  • Alembic
  • Pydantic v2
  • Docker
  • GitHub Actions
  • Pytest

📁 Project Structure

ElderCare360
│
├── routers/
├── models/
├── schemas/
├── exceptions/
├── utils/
├── tests/
├── alembic/
├── config.py
├── database.py
├── Dockerfile
├── docker-compose.yml
├── requirements.txt
└── main.py

⚙️ Installation

Clone the repository

git clone https://github.com/sureshsandy861/eldercare360-fastapi.git

Move into the project

cd eldercare360-fastapi

Create virtual environment

python -m venv venv

Activate virtual environment

Windows

venv\Scripts\activate

Linux / macOS

source venv/bin/activate

Install dependencies

pip install -r requirements.txt

🔧 Environment Variables

Create a .env file by copying .env.example and updating the required values.

cp .env.example .env

Required variables:

APP_NAME=
DEBUG=
DATABASE_URL=
SECRET_KEY=
ALGORITHM=
ACCESS_TOKEN_EXPIRE_MINUTES=

Run the application

uvicorn main:app --reload

🐳 Docker

Start the application:

docker compose up --build

Stop the application:

docker compose down

📚 API Documentation

Swagger UI

http://localhost:8000/docs

ReDoc

http://localhost:8000/redoc

🧪 Running Tests

pytest -v

🚀 Future Enhancements

  • Redis Cache
  • Celery Background Tasks
  • Email Notifications
  • Cloud Deployment (AWS/Azure)
  • Kubernetes

👨‍💻 Author

Suresh K

Backend Developer

  • Python
  • FastAPI
  • PostgreSQL
  • SQLAlchemy
  • Docker

About

A production-style FastAPI backend for senior care management featuring JWT authentication, PostgreSQL, SQLAlchemy, Alembic migrations, Docker, API versioning, testing, and CI/CD.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages