This device is not compatible.
PROJECT
Create a REST API with FastAPI for User Management
In this project, we’ll learn to build a FastAPI based user management system that enables efficient creation, retrieval, updating, and deletion (CRUD) of user data, with strong data validation and authentication capabilities.
You will learn to:
Create and integrate SQLAlchemy with FastAPI.
Write models and schemas.
Add an object relational mapping (ORM) layer between classes and databases.
Create endpoints to handle the CRUD operations efficiently.
Skills
Backend Development
API Development
REST API
Web API
Prerequisites
Intermediate knowledge of Python
Intermediate knowledge of SQLAlchemy
Basic understanding of FastAPI
Intermediate knowledge of REST architecture
Technologies
Python
FastAPI
SQLAlchemy
Project Description
In this project, we'll build a complete user management REST API using FastAPI and SQLAlchemy ORM to handle all CRUD operations (create, read, update, delete) for user accounts. FastAPI provides high-performance asynchronous API development with automatic API documentation, while SQLAlchemy serves as the object-relational mapping layer managing database interactions. We'll create a production-ready system with RESTful endpoints, database schema design, error handling, and comprehensive API testing.
We'll start by configuring the database connection with SQLAlchemy, creating ORM models for user entities, and defining Pydantic schemas for request validation and response serialization. We'll establish database sessions to manage transactions and ensure proper connection handling throughout the application. Next, we'll build REST API endpoints for retrieving all users, fetching users by ID or email using query parameters, adding new users with POST requests, updating existing user information with PUT requests, and deleting user accounts with DELETE requests. Each endpoint will include input validation, error handling, and appropriate HTTP status codes.
By the end, we'll have a fully functional user management system demonstrating FastAPI backend development, SQLAlchemy database operations, RESTful API design principles, Pydantic data validation, and API endpoint creation applicable to any Python web API or database-driven application.
Project Tasks
1
Database Management
Task 0: Get Started
Task 1: Configure the Database
Task 2: Create a Model Class
Task 3: Create a Schema for the Base User
Task 4: Create a Schema for the User Class
Task 5: Fetch the Session to the Main Application
2
Create REST Endpoints
Task 6: Create an Endpoint to Get Users
Task 7: Create an Endpoint to Get Users by ID
Task 8: Create an Endpoint to Get Users by Email
Task 9: Create an Endpoint to Add a User
Task 10: Create an Endpoint to Update a User
Task 11: Create an Endpoint to Delete a User
Congratulations!
Subscribe to project updates
Atabek BEKENOV
Senior Software Engineer
Pradip Pariyar
Senior Software Engineer
Renzo Scriber
Senior Software Engineer
Vasiliki Nikolaidi
Senior Software Engineer
Juan Carlos Valerio Arrieta
Senior Software Engineer
Relevant Courses
Use the following content to review prerequisites or explore specific concepts in detail.