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