Flask is a staple in backend development. In this course, you'll learn how to build complete REST APIs using popular technologies.
Flask
Docker
SQLAlchemy (with Flask-SQLAlchemy)
Flask-JWT-Extended
Flask-Migrate for database migrations
Background tasks with rq for sending emails
Deployments to Render.com using git
Dive into Flask with concise, to-the-point videos that guide you through the complete process of building a REST API. In each section you'll add more features to the app, and by the end of the course you'll know how to deploy and make your app publicly accessible.
To start, you'll build a simple API with Flask and learn to test it with Insomnia. Then, you'll run it using Docker. After, you'll add database interactions with SQLAlchemy and user authentication with Flask-JWT-Extended.
Every time we need to modify our database schema, we'll do so by using database migrations, an industry standard.
Finally, for our API to be able to execute long-running tasks such as sending emails, we'll introduce background tasks for improved performance. We use rq for this instead of Celery because it's super simple to get started with, and doesn't require a complex setup.
Connect web or mobile applications to databases and servers via REST APIs
Create secure and reliable REST APIs which include authentication, deployments, and database migrations
Understand the different layers of a web server and how web applications interact with each other
Handle seamless user authentication with advanced features like token refresh
Handle log-outs and prevent abuse in your REST APIs with JWT blacklisting
Optimize performance of your REST APIs using task queues and background workers
Course Introduction
3 LESSONS
A Full Python Refresher
47 LESSONS
Introduction to this section
Variables in Python
Coding Exercise 1: variables
String formatting in Python
Getting user input
Writing our first Python app
Lists, tuples, and sets
Advanced set operations
Coding Exercise 2: lists, tuples and sets
Booleans in Python
If statements
The 'in' keyword in Python
If statements with the 'in' keyword
Loops in Python
Coding Exercise 3: flow control-loops and ifs
List comprehensions in Python
Dictionaries
Destructuring variables
Functions in Python
Function arguments and parameters
Default parameter values
Functions returning values
Coding Exercise 4: functions
Lambda functions in Python
Dictionary comprehensions
Coding Exercise 5: dictionaries and students
Unpacking arguments
Unpacking keyword arguments
Object-Oriented Programming in Python
Magic methods: str and repr
Coding Exercise 6: classes and objects
@classmethod and @staticmethod
Coding Exercise 7: @classmethod and @staticmethod
Class inheritance
Class composition
Type hinting in Python 3.5+
Imports in Python
Relative imports in Python
Errors in Python
Custom error classes
First-class functions
Simple decorators in Python
The 'at' syntax for decorators
Decorating functions with parameters
Decorators with parameters
Mutability in Python
Mutable default parameters (and why they're a bad idea)
Your First REST API
9 LESSONS
An Introduction to Docker
4 LESSONS
Flask-Smorest for More Efficient Development
9 LESSONS
SQL Storage with Flask-SQLAlchemy
11 LESSONS
Project Overview (and why use SQLAlchemy)
Create a simple SQLAlchemy Model
One-to-many relationships with SQLAlchemy
Configure Flask-SQLAlchemy
Insert models in the database with SQLAlchemy
Get models by ID from the database using SQLAlchemy
Updating models with SQLAlchemy
Retrieve a list of all models
Delete models with SQLAlchemy
Delete models with relationships using cascades
Conclusion of this section
Many-to-many relationships with SQLAlchemy
3 LESSONS
User Authentication with Flask-JWT-Extended
12 LESSONS
Changes in this section
What is a JWT?
How are JWTs used?
Flask-JWT-Extended Setup
The User model and schema
How to add a register endpoint to the REST API
How to add a login endpoint to the REST API
Protect endpoints by requiring a JWT
JWT Claims and Authorization
How to add logout to the REST API
Request chaining with Insomnia
Token refreshing with Flask-JWT-Extended
Database Migrations with Alembic and Flask-Migrate
5 LESSONS
Git Crash Course
7 LESSONS
Deploy REST APIs to Render
7 LESSONS
Task queues with rq and e-mail sending
7 LESSONS
7 More Sections
I love what I learned, this course is gold and teacher Jose is amazing exposing and explaining every lesson. Highly recommended!
”- Erik Damian Lazos Torres
Excellent. I'm half-way through it in only 2 days, it's almost addictive. Great knowledge, relevance and delivery. Thanks!
”- Jacobo Pérez Schwartz
This is the best tutorial I ever seen, I am learning very well in these lectures.
”- Vishal Kumar Gupta
This course helped me to understand more about REST APIs. More even by practising with Python. Excellent teacher and resources.
”- Ricardo Tapia Sáez
Great course which contains the development from 0 to the final simple project with deployment!
”- Ivan Verameichyk
Great course loaded with useful information. Even managed to show some git and Docker alongside the main subjects. Thank you.
”- Juan Jose Pacho Mendez
The course is great in getting to know all about REST APIs in Python. Though I'm not aiming to become a developer, the lectures and hands-on which I did code-along as far I can enable me to understand the behind-the-scenes inner working which I've often wondered when I use REST API. Thank you Jose for the wonderful course!
”- Washington Alto
Very well taught course. Useful resources, clear examples and well paced delivery. I like the style and structure, having a working API and API tests in a very short time.
”- Gerry Baird
You'll get more than what you expect. I'm grateful that Jose introduces us to Docker since it's a widely used tool in the industry. Thank you.
”- Eduardo Ruiz
The first person i've seen to really make understanding classes easy.
”- John Tanner
Jose Salvatierra
Hi, I'm Jose! I love helping students learn to code and master software development. I've been teaching online for over 7 years, and I founded Teclado to bring software development to everyone—my objective is for you to truly understand everything that goes on behind the scenes.
How does the course work? When does it start and end?
Do I get lifetime access if I buy the course?
Is this course suitable for beginners?
What support is available while taking the course?
Is this course available on Udemy? How is it different from buying it here?