Ultimate Guide to FastAPI and Backend Development
Build REST APIs For The Modern Web. Learn FastAPI, SQL Database, OAuth2, Pytest, React and Docker
What you'll learn
- Build a complete RESTful API for a delivery management system, adhering to best practices
- Define Pydantic models for request and response data validation, ensuring type safety
- Connect a FastAPI application to a SQL database (SQLite, PostgreSQL) and integrate with endpoints using dependency injection
- Operate on SQL database with SQLModel and define One-to-Many and Many-to-Many SQL Relationships
- Manage database schema changes with alembic migrations, upgrade, downgrade and auto-generate revisions
- Implement secure authentication using OAuth2 Scheme in a FastAPI application, including email validation, login/logouts and password resets
- Send Email and SMS notifications from a FastAPI application triggered by shipment events
- Integrate Celery with a FastAPI application to offload time-consuming tasks to a background worker from an API Endpoint
- Package a FastAPI Application with Docker and related services using Docker Compose
- Deploy a FastAPI Application along with other services
Description
Unlock the Power of APIs with Python and FastAPI!
Ready to transform your Python skills into building blazing-fast, production-ready APIs? This hands-on course is your definitive guide to crafting high-performance APIs using FastAPI and Python.
Go beyond theory and build a complete backend API for a real-world Delivery Management System. You'll master essential backend concepts like the request/response cycle, data modeling, databases, asynchronous programming, and dependency injection – all while leveraging the power of FastAPI's built-in features: asynchronous speed, automatic data validation, OpenAPI support, and exceptional developer productivity.
Python
Even though having a basic understanding of python is required, core language concepts like type hinting, decorator functions, context managers, async programming and others will still be covered.
SQL Database
We will cover databases and SQL from the basics. Especially if you're a beginner, we will first learn the need for structured databases, what SQL is, how to define tables and write SQL queries.
Then we will integrate a SQLite database manually with our FastAPI application and then leverage modern tools like SQLModel to define database table schema and FastAPI's powerful dependency injection to provide database session to API endpoints.
After covering the essentials, we will move onto advanced concepts like asynchronous database (PostgreSQL), manage schema changes with alembic migrations, define one-to-many and many-to-many SQL relationships and link models.
User Authentication
FastAPI has built-in support for OAuth2 Scheme. Implement secure user authentication with OAuth2 Password Flow and handle user signups, email verification of registered users, login, control access to endpoints with JWT, allow password resets and logout users.
Email and SMS Notifications
In our delivery management system, we will send email updates and sms to recipients on shipment updates. Like sending tracking links with email on order placed, shipment status updates, and sending verification codes or OTP as sms to recieve shipments.
API Testing
Learn the basics of the pytest - testing framework. Write and run simple tests, and use fixtures to manage test state. Then, write test for API endpoints with FastAPI's built-in test client.
We will cover required concepts when testing APIs like setting up test databases, overriding dependencies, authentication in test functions and automate testing with schemathesis.
Frontend?
As a bonus, we will also cover frontend web development with React JS. Covering the essentials like components, state management, hooks, context providers and routing. Using modern and meme proof tools like Vite, Axios, React Router, Shadcn UI, and Tanstack React Query.
Docker
Learn the industry standard tool for packaging applications. We will cover the basics of docker and the essential concepts of containerisation. And run our API Server, PostgreSQL database, Redis and Celery background worker seamlessly with Docker Compose.
If you're a Python developer looking to create fast, reliable, and modern web APIs, and if you're eager to understand and build the backend yourself, then this course is your perfect starting point.
Join us in the first lesson and start building today!
Who this course is for:
- Beginner Python Developers
Post a Comment for "Ultimate Guide to FastAPI and Backend Development"