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
API Base URL: https://eldercare360-fastapi.onrender.com
Swagger UI: https://eldercare360-fastapi.onrender.com/docs
🚧 Active Development
This project is being continuously enhanced as part of a backend engineering learning roadmap. New features and improvements are added regularly.
- Resident Management
- Billing Management
- Staff Management
- JWT Authentication
- Role-Based Authorization (RBAC)
- 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
- Unit Testing (Pytest)
- GitHub Actions CI
- FastAPI
- Python 3.13
- PostgreSQL
- SQLAlchemy
- Alembic
- Pydantic v2
- Docker
- GitHub Actions
- Pytest
ElderCare360
│
├── routers/
├── models/
├── schemas/
├── exceptions/
├── utils/
├── tests/
├── alembic/
├── config.py
├── database.py
├── Dockerfile
├── docker-compose.yml
├── requirements.txt
└── main.py
Clone the repository
git clone https://github.com/sureshsandy861/eldercare360-fastapi.gitMove into the project
cd eldercare360-fastapiCreate virtual environment
python -m venv venvActivate virtual environment
Windows
venv\Scripts\activateLinux / macOS
source venv/bin/activateInstall dependencies
pip install -r requirements.txtCreate a .env file by copying .env.example and updating the required values.
cp .env.example .envRequired variables:
APP_NAME=
DEBUG=
DATABASE_URL=
SECRET_KEY=
ALGORITHM=
ACCESS_TOKEN_EXPIRE_MINUTES=Run the application
uvicorn main:app --reloadStart the application:
docker compose up --buildStop the application:
docker compose downSwagger UI
http://localhost:8000/docs
ReDoc
http://localhost:8000/redoc
pytest -v- Redis Cache
- Celery Background Tasks
- Email Notifications
- Cloud Deployment (AWS/Azure)
- Kubernetes
Suresh K
Backend Developer
- Python
- FastAPI
- PostgreSQL
- SQLAlchemy
- Docker