What You’ll Build
Throughout this module, you’ll develop an Employee Management System (EMS) API — a realistic project that grows with you as you learn. By the end, it handles authentication, database persistence, modular routing, and structured error responses.Module Contents
How the Web Works
Understand HTTP, the client-server model, request anatomy, status codes, and REST API conventions.
Intro to FastAPI
Install FastAPI, write your first application, and run it locally with Uvicorn.
Fundamentals
Learn routing, path/query parameters, request bodies, response models, and the FastAPI architecture.
Request Handling
Master path parameters, query parameters, request bodies, headers, and the
Annotated validation style.Response Handling
Control outbound data with response models, HTTP status codes, and custom response classes.
Data Validation & Models
Separate request, internal, and response models cleanly, and use
Field, Query, and Path validators.Local CRUD
Build a fully functional CRUD API using in-memory dictionaries before adding a real database.
API Documentation
Customise Swagger UI and ReDoc with metadata, route summaries, and field descriptions.
APIRouter
Split routes into dedicated router files with prefixes, tags, and a clean folder layout.
Exception Handling
Handle HTTP exceptions, validation errors, and unexpected runtime errors with global handlers.
Dependency Injection
Understand IoC and DI principles, then use FastAPI’s
Depends() to inject reusable resources.Modularisation
Refactor into a Controller–Service–Repository architecture for scalable, testable applications.
SQL & ORM
Replace in-memory storage with a real SQL database using SQLModel and SQLAlchemy.
JWT Auth
Secure your API with JSON Web Tokens, login endpoints, and role-based access control.
Prerequisites
Before starting, make sure you have the following in place:- Python 3.10+ installed on your machine
- A terminal and a code editor (VS Code is recommended)
- Basic Python knowledge — functions, classes, and dictionaries
You do not need prior web development experience. Everything from HTTP basics to database integration is covered in this module.
Quick-Start Installation
1
Create a virtual environment
2
Activate the environment
- macOS / Linux
- Windows
3
Install FastAPI and Uvicorn
4
Create main.py and run it
http://127.0.0.1:8000/docs to see your first API docs. 🎉