• Post category:StudyBullet-3
  • Reading time:13 mins read


Learn FastAPI, Python, REST APIs, Bootstrap, SQLite, Jinja, and web security; all while creating 4 full-stack web apps!

What you will learn

Create 3 full-stack applications using FastAPI in Python and industry-standard practices

Use Jinja2, Bootstrap, HTML, and CSS to create front-end templates with control flow (conditionals, loops, etc.)

Fundamentally understand REST API architecture and how to implement REST APIs in FastAPI

Use database browsers and SQLAlchemy to create, manage, update, and parse SQLite databases

Create user authentication and registration logic with error handling

Understand HTTP, how it works, and how to make requests, including methods, headers, bodies, and status codes

Format programmatic data to include in front-end pages

Parse HTTP requests in python and extract relevant data, including parameters, form data, and request bodies

Validate HTTP routes and implement error handling in REST APIs and full-stack applications

Understand JSON and how to both parse and return it using Python

Use Pydantic and type hints to create data models and schemas in Python

Hash and verify passwords in Python

Create OAuth2 flows and use them to authenticate users

Create, manage, and update JSON Web Tokens


Get Instant Notification of New Courses on our Telegram channel.


Create database models in Python

Use Alembic to migrate and update databases

Use SQLAlchemy to write functionality to interact with databases in Python

Learn best web development practices and conventions

Description

There is a lot that goes into full stack web development.

With databases, REST architecture, HTTP requests, OAuth2, and all the other protocols that go alongside full stack web development, it can be hard to learn, especially when coupled with a complicated framework like FastAPI and the nuanced parts of Python.

This course aims to eliminate that confusion by teaching FastAPI from the very basics to the advanced level. It combines theory and practical use to give you everything you need to learn FastAPI, all while allowing you to build 3 full-stack web applications written primarily in Python along the way.

In the first section, we focus on the basics of FastAPI by teaching REST API architecture, Jinja2, Bootstrap, HTML templating, and the foundational FastAPI skills needed to get a basic application up and running.

Along the way, we will be building a car information viewer that lets you view, search, create, edit, and delete information about cars, all delivered in a clean and readable codebase using Python and FastAPI.

The second section focuses on OAuth2 and web security, incorporating password hashing, JSON web tokens, authentication schemes, and industry-standard practices into a main FastAPI application written in Python.

This will be built around a social media feed that uses login and registration functionality to display user information under a protected page.

The third section focuses on databases, using SQLite and SQLAlchemy to build and model databases in Python and FastAPI. You will also learn to use Alembic in combination with SQLAlchemy to perform database migrations and updates.

These topics will be built around a todo list that combines user login with SQLite databases to create a full stack web application, incorporating all the elements of FastAPI, Python, OAuth2, and all the other practices learned up to that point.

So, are you ready to start crushing web development and building full stack web applications in FastAPI and Python? Enroll and start your FastAPI journey today!

English
language

Content

Introduction & Setup
Before you start
Projects you will complete
What will I learn in this course?
Installing libraries & software
Where to find project files
Advanced Python & Concepts
Notice about the following section
Project Resources
REST, CRUD, and HTTP requests
What is FastAPI?
Type hints
Pydantic models
CODING EXERCISE: Design a social media post model w/ Pydantic
CODING EXERCISE (SOLUTION): Design a social media post model w/ Pydantic
Virtual environments
Quiz: REST Architecture, Type Hints, & Pydantic Models
App 1: Car Information Viewer (Basic FastAPI, Jinja, Bootstrap)
Project Preview – Car Information Viewer
Project Resources
Setting up app
Creating a car model
Get all cars path
Get car by ID
Adding cars
Updating car
Deleting car
Setting up HTML templates
Creating your first HTML response
Header & footer components
Designing a Navbar
Creating the main page
Notice about following lecture
Creating a car component
Adding a search feature
Create car feature
Edit car feature
Delete car feature
Quiz: Basic FastAPI
App 2: Social Media Feed w/ User Login (OAuth2, JWT, Security)
Project Preview – Social Media Feed
Project Resources
Setting up app
Creating models
Creating base home page
Creating login page
Password hashing mechanism
Notice about the following lecture
Login mechanism: User verification
Login mechanism: Login data route
Logout mechanism
Registration page
Registration mechanism
Displaying user information
Notifications page
Bug fixes & refactoring
Quiz: OAuth2, JWT, Web Security
App 3: Todo List (SQL, UUID)
Project Preview – Todo List
Project resources
Setting up app
Creating header, footer, and navbar components
Creating home page
Setting up database
Creating Pydantic models (schemas)
Creating database models
App setup with DB
DB migrations & adjustments w/ Alembic
Login page & mechanism: Setup & CRUD
Login page & mechanism: Authentication
Registration page & mechanism: Setup & CRUD
Registration page & mechanism: Authentication
Logout mechanism
Todo page: List tasks
Todo page: Add tasks
Todo page: Complete tasks
Quiz: SQL & SQL Integration
Goodbye & Next Steps
Goodbye
You made it! What’s next?