This repository contains training material for a FASTAPI tutorial. Each module is organized in its own folder for clarity and ease of navigation.
- Python basics
- Basics of REST APIs (HTTP protocol)
- Basics of relational databases
| Module | Topic | Description | Slides | Exercises |
|---|---|---|---|---|
| 01 | Backend Fundamentals | Introduction to backend development concepts. Python virtual environments. | Slides | Exercises |
| 02 | FastAPI Introduction | Project structure. Pydantic models. API endpoints. Simple logging. | Slides | Exercises |
| 03 | Intermediate FastAPI | Request and response models. Error handling. Modular architecture and routers. Advanced logging. | Slides | Exercises |
| 04 | Database Integration | SQLAlchemy and ORM. Models and schemas. CRUD operations. Alembic for DB migrations. | Slides | Exercises |
| 05 | Dependency Injection | FastAPI dependency injection system. Reusable dependencies (DB session, auth). | Slides | Exercises |
| 06 | Security | Authentication and authorization. Password hashing. JWT tokens. | Slides | Exercises |
| 06 | Security-OAuth2 | OAuth2 with GitHub. | Slides | Exercises |
| 07 | Advanced API Design | API versioning. Pagination, filtering, and sorting. Rate limiting. Background tasks. Caching. | Slides | Exercises |
| 08 | Testing APIs | Why testing matters. Pytest basics. Unit and integration tests. | Slides | Exercises |
| 09 | Asynchronous Programming | Understanding async and await. Async database interactions. Building async endpoints. | Slides | Exercises |
| 10 | Deployment and CI/CD | Dockerizing a FastAPI app with React frontend. Managing secrets with .env. | Slides | Exercises |
- Navigate to the desired module's folder.
- Follow the instructions or code examples provided within each module.
- Run and experiment with the code to reinforce your learning.
- Python 3.11.2
- IDE: VSCode, PyCharm, ...
- FASTAPI
- Other dependencies as specified in each module
Happy learning!