Backend engineering · Python · REST API
Multi-Tenant SaaS
Project Management
A production-style backend system where multiple organizations share one platform with strict data isolation — built with FastAPI, PostgreSQL, Celery, and Docker.
At a glance
Tech stack
Python
FastAPI
PostgreSQL
SQLAlchemy
Alembic
Celery
Redis
JWT Auth
Docker
Pytest
Render
System architecture
Client
→
Middlewarerate limit · logging · tenant
→
API routes
→
Service layer
→
Repository
→
PostgreSQL
Async jobs
Celery worker
→
Redis broker
Endpoints
POST/auth/login
JWT token issuance
POST/organizations/
Create organization (tenant)
GET/organizations/
List organizations
GET/projects/
Get projects (scoped by org)
GET/tasks/
Get tasks (scoped by org)
Key concepts demonstrated
Multi-tenancy
Org-scoped data isolation across all entities via tenant context middleware
JWT authentication
Stateless token-based auth with secure password hashing
Layered architecture
Clean separation: routes → services → repositories → models
Async background jobs
Celery + Redis for non-blocking task processing
Database migrations
Alembic for version-controlled schema management
Rate limiting
Middleware-level request throttling to prevent API abuse