icon icon

REST API end-to-end – FastAPI, database and authorization

icon

Training process

Training needs analysis

If you have specific requirements regarding the training programme, we will carry out a training needs analysis for you. This will guide us on which aspects of the programme should receive greater emphasis, so that the training programme meets your specific needs.

What will you gain?

icon

Confident API design - You will learn to design APIs around HTTP and REST principles, so you can build clear endpoints, choose proper methods, status codes and headers, and avoid common design mistakes.

icon

Hands-on FastAPI work - You will build a FastAPI application yourself, from project setup to Swagger docs and Pydantic validation, so you can start creating production-ready backend services much faster.

icon

Complete CRUD skills - You will master GET, POST, PUT and DELETE endpoints with path, query and body handling, which will let you implement full CRUD flows and clear error handling in your own API.

icon

Database integration - You will connect FastAPI to a database with an ORM, define models, run migrations, and add filtering, sorting and pagination to build APIs that work with real business data.

icon

Confidence through testing - You will learn how to test endpoints with pytest, separate unit and integration tests, and mock dependencies, helping you extend an API safely and catch regressions much earlier.

icon

Secure authentication - You will implement password hashing, JWT-based login, protected endpoints and user roles, so you can build an API with a real authentication flow and practical access control.

icon

Stronger project architecture - You will work with layered structure, dependency injection, environment config and logging, which will help you organize code better and prepare the project for team development.

icon

Deployment readiness - You will see how to run the app with Uvicorn, prepare it for Docker, maintain useful API documentation and address basic scaling concerns, moving faster from code to live service.

Training programme

1. Introduction to HTTP and API Architecture

  • client–server model,
  • HTTP methods (GET, POST, PUT, DELETE),
  • response statuses and headers,
  • REST architecture and good API design practices,
  • tools (Postman, Swagger, curl).

2. FastAPI Basics

  • installation and configuration of the environment,
  • project structure,
  • creating the first endpoint,
  • automatic documentation (Swagger/OpenAPI),
  • data validation (Pydantic).

3. Types of endpoints and CRUD operations

  • GET, POST, PUT, DELETE endpoints,
  • handling parameters (path, query, body),
  • input data validation,
  • data serialization and deserialization,
  • error and exception handling.

4. Integration with a database

  • introduction to ORM (e.g. SQLAlchemy),
  • connection to a database,
  • data models and migrations,
  • CRUD operations on a database,
  • filtering and sorting data,
  • paginate / limit / offset.

5. API Testing

  • endpoint testing (pytest),
  • unit and integration tests,
  • mocking dependencies,
  • API response validation,
  • test automation.

6. API Security

  • password hashing (bcrypt),
  • authentication (JWT),
  • authorization and user roles,
  • endpoint protection,
  • token and session management.

7. Good practices and architecture

  • project structure (layers, modules),
  • Dependency Injection,
  • logging and monitoring,
  • handling configuration and environments,
  • preparing the API for deployment.

8. API Deployment and Development

  • running applications (Uvicorn),
  • containerization (Docker – introduction),
  • scaling and performance,
  • API documentation for the team and clients,
  • development and maintenance of API in the organization.

What are the prerequisites for participating in the training?

icon

Python basics - You should be comfortable writing simple Python scripts and understand functions, modules, classes and packages, so you can focus on APIs instead of learning the language itself.

icon

Terminal usage - You should know how to run commands in a terminal, install libraries and work with a virtual environment, because the training includes project setup and running the application.

icon

Database fundamentals - You should understand tables, records, relationships and basic SQL queries, so working with an ORM, data models and CRUD operations against a database will be much easier.

icon

Basic web concepts - You should already know how a browser works, what an HTTP request and response are, and how JSON is used, because the course focuses on client-server communication and modern APIs.