REST APIs with Flask and Python

Build professional REST APIs with Python, Flask, Docker, Flask-Smorest, and Flask-SQLAlchemy

Instructor profile picture
Jose Salvatierra
Founder of Teclado
Man at a computer
C / 001 Description

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 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.

C / 002 What you'll learn

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

C / 003 Prerequisites

Basic knowledge of Python required, see 30 Days of Python

C / 004 Course content

7 More Sections

C / 005 Student reviews

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

C / 006 Instructor
Teclado Logo

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.

C / 007 FAQs

How does the course work? When does it start and end?

This is an on-demand video course with supporting text and code. This course builds a complete Flask project. We recommend you watch the video, read the supporting text, and then try to replicate what the video covers in your own project. That way by the end of the course, you'll have the project you've coded yourself!

Do I get lifetime access if I buy the course?

If you purchase the course, you'll get lifetime access to it. If you access the course via the Teclado subscription, you'll have access to the course for as long as you keep your subscription active.

Is this course suitable for beginners?

This course is a bit fast paced for complete beginners. We recommend you have good knowledge of Python before tackling this course. Our free 30 Days of Python course should give you a good start!

What support is available while taking the course?

Our Discord student community is the best place to get help with the course content. How to gain access is detailed inside the course. Alternatively it's always a good idea to try to find your own answers by using platforms such as StackOverflow (since that's what you'd do in a real-world job).

Is this course available on Udemy? How is it different from buying it here?

This course is available on Udemy, but there are a couple benefits to buying here on Teclado: the videos are of higher quality, and each lecture comes with accompanying instructional text and code. Also, this course is part of our all-course subscription, so if you are a subscriber you already have access to this course!