This roadmap presents the learning journey and technical progression covered by this repository.
The laboratories are designed to simulate real-world backend engineering scenarios using modern Python technologies, following software engineering best practices and progressively increasing in complexity.
- LAB 01 — FastAPI Basics
- Create the first REST API
- Interactive Swagger UI
- Request validation with Pydantic
- Health check endpoint
- Version endpoint
- Basic project structure
- LAB 02 — PostgreSQL with DBeaver
- PostgreSQL database
- Database creation
- Tables
- Relationships
- SQL queries
- Database inspection using DBeaver
- LAB 03 — SQLAlchemy ORM
- ORM models
- Sessions
- CRUD operations
- Repository pattern
- Database abstraction
- LAB 04 — CRUD API
- Create
- Read
- Update
- Delete
- Pagination
- Filtering
- Validation
- Exception handling
- LAB 05 — JWT Authentication
- User registration
- Login
- Password hashing
- JWT tokens
- Protected endpoints
- Basic role-based authorization
- LAB 06 — Alembic
- Migration creation
- Upgrade
- Downgrade
- Schema versioning
- Database evolution
- LAB 07 — Docker
- Dockerfile
- Image creation
- Container execution
- Environment variables
- Production-ready images
- LAB 08 — Docker Compose
- API container
- PostgreSQL container
- Persistent volumes
- Networks
- Service orchestration
- LAB 09 — Automated Testing with Pytest
- Unit tests
- Integration tests
- Fixtures
- Mocking
- Code coverage
- Test organization
- LAB 10 — GitHub Actions CI
- Automated testing
- Linting
- Build validation
- Pull Request validation
- Continuous Integration workflow
- LAB 11 — API Performance Testing
- Load testing
- Stress testing
- Response time analysis
- Bottleneck identification
- Performance metrics
- LAB 12 — Production Deployment on AWS
- EC2 deployment
- Docker deployment
- Nginx Reverse Proxy
- HTTPS configuration
- Production environment
- Logging
- Basic monitoring
- Python
- FastAPI
- PostgreSQL
- DBeaver
- SQLAlchemy
- Alembic
- Docker
- Docker Compose
- Pytest
- GitHub Actions
- AWS
- Nginx
- REST APIs
- OpenAPI
- Swagger UI
- Pydantic
- Git
- GitHub
| Stage | Status |
|---|---|
| FastAPI Fundamentals | ⏳ Planned |
| PostgreSQL Fundamentals | ⏳ Planned |
| SQLAlchemy ORM | ⏳ Planned |
| CRUD API | ⏳ Planned |
| Authentication | ⏳ Planned |
| Alembic | ⏳ Planned |
| Docker | ⏳ Planned |
| Docker Compose | ⏳ Planned |
| Automated Testing | ⏳ Planned |
| GitHub Actions CI | ⏳ Planned |
| Performance Testing | ⏳ Planned |
| AWS Deployment | ⏳ Planned |
This repository aims to build a production-inspired backend engineering portfolio focused on modern Python backend development.
Throughout the laboratories, the following concepts are progressively introduced:
- REST API development
- Relational database design
- ORM best practices
- Authentication and authorization
- Database migrations
- Containerization
- Automated testing
- Continuous Integration (CI)
- Cloud deployment
- Production-ready application architecture
The primary objective is to provide practical experience while building a portfolio aligned with the technologies and workflows commonly used by backend engineering teams.