Udemy
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
Development
Web Development Data Science Mobile Development Programming Languages Game Development Database Design & Development Software Testing Software Engineering Development Tools No-Code Development
Business
Entrepreneurship Communications Management Sales Business Strategy Operations Project Management Business Law Business Analytics & Intelligence Human Resources Industry E-Commerce Media Real Estate Other Business
Finance & Accounting
Accounting & Bookkeeping Compliance Cryptocurrency & Blockchain Economics Finance Finance Cert & Exam Prep Financial Modeling & Analysis Investing & Trading Money Management Tools Taxes Other Finance & Accounting
IT & Software
IT Certification Network & Security Hardware Operating Systems Other IT & Software
Office Productivity
Microsoft Apple Google SAP Oracle Other Office Productivity
Personal Development
Personal Transformation Personal Productivity Leadership Career Development Parenting & Relationships Happiness Esoteric Practices Religion & Spirituality Personal Brand Building Creativity Influence Self Esteem & Confidence Stress Management Memory & Study Skills Motivation Other Personal Development
Design
Web Design Graphic Design & Illustration Design Tools User Experience Design Game Design Design Thinking 3D & Animation Fashion Design Architectural Design Interior Design Other Design
Marketing
Digital Marketing Search Engine Optimization Social Media Marketing Branding Marketing Fundamentals Marketing Analytics & Automation Public Relations Advertising Video & Mobile Marketing Content Marketing Growth Hacking Affiliate Marketing Product Marketing Other Marketing
Lifestyle
Arts & Crafts Beauty & Makeup Esoteric Practices Food & Beverage Gaming Home Improvement Pet Care & Training Travel Other Lifestyle
Photography & Video
Digital Photography Photography Portrait Photography Photography Tools Commercial Photography Video Design Other Photography & Video
Health & Fitness
Fitness General Health Sports Nutrition Yoga Mental Health Dieting Self Defense Safety & First Aid Dance Meditation Other Health & Fitness
Music
Instruments Music Production Music Fundamentals Vocal Music Techniques Music Software Other Music
Teaching & Academics
Engineering Humanities Math Science Online Education Social Science Language Teacher Training Test Prep Other Teaching & Academics
AWS Certification Microsoft Certification AWS Certified Solutions Architect - Associate AWS Certified Cloud Practitioner CompTIA A+ Cisco CCNA Amazon AWS CompTIA Security+ AWS Certified Developer - Associate
Photoshop Graphic Design Adobe Illustrator Drawing Digital Painting InDesign Character Design Canva Figure Drawing
Life Coach Training Neuro-Linguistic Programming Personal Development Mindfulness Personal Transformation Life Purpose Meditation Emotional Intelligence Neuroscience
Web Development JavaScript React CSS Angular PHP WordPress Node.Js Python
Google Flutter Android Development iOS Development Swift React Native Dart Programming Language Mobile Development Kotlin SwiftUI
Digital Marketing Google Ads (Adwords) Social Media Marketing Google Ads (AdWords) Certification Marketing Strategy Internet Marketing YouTube Marketing Email Marketing Retargeting
SQL Microsoft Power BI Tableau Business Analysis Business Intelligence MySQL Data Analysis Data Modeling Big Data
Business Fundamentals Entrepreneurship Fundamentals Business Strategy Online Business Business Plan Startup Freelancing Blogging Home Business
Unity Game Development Fundamentals Unreal Engine C# 3D Game Development C++ 2D Game Development Unreal Engine Blueprints Blender
30-Day Money-Back Guarantee
Development Web Development Flask

REST APIs with Flask and Python

Build professional REST APIs with Python, Flask, Flask-RESTful, and Flask-SQLAlchemy
Bestseller
Rating: 4.6 out of 54.6 (12,549 ratings)
70,221 students
Created by Jose Salvatierra, Teclado by Jose Salvatierra
Last updated 11/2020
English
English, French [Auto], 
30-Day Money-Back Guarantee

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, logging, caching, and more
  • 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
  • Develop professional-grade REST APIs with expert instruction
Curated for the Udemy for Business collection

Course content

12 sections • 155 lectures • 17h 2m total length

  • How to take this course
    00:46
  • Python on Windows
    00:29
  • Python on Mac
    00:17

  • Preview01:01
  • Access the code for this section here
    00:24
  • Preview08:26
  • The Coding Exercises for This Section
    00:26
  • Variables
    1 question
  • Solution to coding exercise: Variables
    02:00
  • Preview06:26
  • Preview05:16
  • Writing our first Python app
    03:19
  • Lists, tuples, and sets
    06:31
  • Advanced set operations
    04:39
  • Lists, tuples, and sets
    1 question
  • Solution to coding exercise: Lists, tuples, sets
    04:40
  • Booleans in Python
    04:59
  • If statements
    08:17
  • The 'in' keyword in Python
    02:02
  • If statements with the 'in' keyword
    08:18
  • Loops in Python
    11:07
  • Flow control—loops and ifs
    1 question
  • Solution to coding exercise: Flow control
    03:08
  • List comprehensions in Python
    07:24
  • Dictionaries
    08:31
  • Destructuring variables
    08:28
  • Functions in Python
    10:41
  • Function arguments and parameters
    07:40
  • Default parameter values
    03:54
  • Functions returning values
    07:19
  • Functions
    1 question
  • Solution to coding exercise: Functions
    02:30
  • Lambda functions in Python
    07:52
  • Dictionary comprehensions
    04:01
  • Dictionaries and students
    1 question
  • Solution to coding exercise: Dictionaries
    06:16
  • Unpacking arguments
    10:24
  • Unpacking keyword arguments
    08:44
  • Object-Oriented Programming in Python
    15:52
  • Magic methods: __str__ and __repr__
    06:25
  • Classes and objects
    1 question
  • Solution to coding exercise: Classes and objects
    05:04
  • @classmethod and @staticmethod
    14:03
  • @classmethod and @staticmethod
    1 question
  • Solution to coding exercise: @classmethod and @staticmethod
    05:54
  • Class inheritance
    08:32
  • Class composition
    06:08
  • Type hinting in Python 3.5+
    05:08
  • Imports in Python
    09:33
  • Relative imports in Python
    08:52
  • Errors in Python
    12:47
  • Custom error classes
    05:04
  • First-class functions
    07:52
  • Simple decorators in Python
    07:12
  • The 'at' syntax for decorators
    03:33
  • Decorating functions with parameters
    02:24
  • Decorators with parameters
    04:50
  • Mutability in Python
    06:03
  • Mutable default parameters (and why they're a bad idea)
    04:27

  • What is an API?
    00:42
  • Installing Flask
    01:58
  • Access the code for this section here
    00:10
  • Preview09:54
  • HTTP Verbs
    10:03
  • REST Principles
    07:42
  • Creating our application endpoints
    08:25
  • Returning a list of stores
    07:00
  • Implementing other endpoints
    08:48
  • Calling the API from JavaScript
    06:39
  • Using Postman for API testing
    12:08

  • Virtualenvs and setting up Flask-RESTful
    08:05
  • Access the code for this section here
    00:12
  • Preview10:39
  • Test-first API design—what is that?
    10:48
  • Creating our Item Resource
    10:33
  • The ItemList and creating Items
    07:16
  • Improving code and error control
    07:16
  • Authentication and logging in—part 1
    12:17
  • Authentication and logging in—part 2
    07:18
  • DELETE to delete Items
    04:33
  • PUT to create or update Items
    04:26
  • Advanced request parsing with Flask-RESTful
    06:16
  • Optimising our final code and request parsing
    03:53

  • Setting up our project
    03:36
  • Access the code for this section here
    00:21
  • Running a SQLite database and interacting with it from Python
    13:15
  • Logging in and retrieving Users from a database
    16:42
  • Signing up and writing Users to a database
    13:31
  • Preventing duplicate usernames when signing users up
    02:57
  • Retrieving our Item resources from a database
    08:59
  • Writing our Item resources to a database
    13:18
  • Deleting our Item resources from the database
    04:01
  • Refactoring insertion of items
    05:00
  • The PUT method with database interaction
    04:59
  • Retrieving many items from the database
    06:42
  • Advanced Flask-JWT Configuration
    00:16

  • Access the code for this section here
    00:12
  • Setting up this section's project
    06:08
  • Improving the project structure and maintainability
    04:59
  • Creating User and Item models
    23:05
  • Verifying the app works after our changes
    05:19
  • Advanced Postman: environments and tests
    11:20
  • Errata: small mistake in code in the next video
    00:26
  • Telling SQLAlchemy about our tables and columns
    10:45
  • Implementing the ItemModel using SQLAlchemy
    15:16
  • Implementing the UserModel using SQLAlchemy
    09:42
  • Easily displaying the ItemList resource with SQLAlchemy
    05:07
  • No more creating tables manually—telling SQLAlchemy to create tables
    02:39
  • Creating a new model: StoreModel
    12:33
  • Creating the Store Resource
    09:46
  • Final testing of this section's API
    05:59

  • Installing Git on Mac and Windows
    04:12
  • What is a Git repository?
    05:27
  • The Git workflow—part 1
    04:31
  • The Git workflow—part 2, including GitHub
    05:17
  • Using SSH keys for security
    06:53
  • The README file
    05:25

  • Access the code for this section here
    00:06
  • What is Heroku?
    06:33
  • Getting our code into GitHub
    07:47
  • Setting up Heroku for Flask
    04:28
  • Adding the required files to the project
    10:49
  • Logs in Heroku and troubleshooting errors
    09:01
  • Testing the deployed API with Postman
    03:56
  • Adding PostgreSQL to our Heroku app
    09:20
  • Working with Git and automatic deploys
    06:30

  • Setting up a DigitalOcean server
    11:57
  • Want to deploy to AWS?
    02:16
  • Installing PostgreSQL in Ubuntu 16.04
    08:09
  • Creating a UNIX user in Ubuntu 16.04
    07:45
  • Setting up our new user with PostgreSQL permissions
    09:06
  • Setting up nginx and our REST API
    19:34
  • Setting up uWSGI to run our REST API
    24:04
  • Testing our API to make sure everything works
    06:29

  • Welcome to this section
    00:27
  • Security in REST APIs e-book
    00:08
  • Getting our domain name
    06:14
  • Setting up Cloudflare
    08:26
  • What is DNS?
    05:03
  • Setting our DNS records
    07:37
  • Verifying everything works—this is important!
    01:26
  • Creating our SSL certificate in Cloudflare
    02:42
  • Configuring nginx for SSL
    12:00
  • Security in REST APIs
    5 questions
  • Extra technical SSL resources
    00:10
  • Conclusion of this section
    00:09

Requirements

  • Some prior programming experience in any programming language will help. The course includes a full Python refresher course.
  • All software used in the course is provided, and completely free
  • Complete beginners may wish to take a beginner Python course first, and then transition to this course afterwards

Description

Are you tired of boring, outdated, incomplete, or incorrect tutorials? I say no more to copy-pasting code that you don’t understand.

Welcome to the bestselling REST API course on Udemy! I'm Jose. I'm a software engineer, here to help you truly understand and develop your skills in web and REST API development with Python and Flask.

Production-ready REST APIs with Flask

This course will guide you in creating simple, intermediate, and advanced REST APIs including authentication, deployments, databases, and much more.

We'll start with a Python refresher that will take you from the very basics to some of the most advanced features of Python—that's all the Python you need to complete the course.

Using Flask and popular extensions Flask-RESTful, Flask-JWT, and Flask-SQLAlchemy we will dive right into developing complete, solid, production-ready REST APIs.

We will also look into essential technologies Git, Heroku, and nginx.

You'll be able to...

  • Create resource-based, production-ready REST APIs using Python, Flask, and popular Flask extensions;

  • Handle secure user registration and authentication with Flask.

  • Using SQLAlchemy and Flask-SQLAlchemy to easily and efficiently store resources to a database; and

  • Understand the complex intricacies of deployments and the performance of Flask REST APIs.


But what is a REST API anyway?

A REST API is an application that accepts data from clients and returns data back. For example, a REST API could accept text data from the client, such as a username and password, and return whether that is a valid user in the database.

When developing REST APIs, our clients are usually web apps or mobile apps. That's in contrast to when we make websites, where the clients are usually the users themselves.

Together we'll develop a REST API that not only allows clients to authenticate but also to store and retrieve any data you want from a database. Learning this will help you develop any REST API that you need for your own projects!


I pride myself on providing excellent support and feedback to every single student. I am always available to guide you and answer your questions.

I'll see you on the inside. Take your first step towards REST API mastery!

Who this course is for:

  • Students wanting to extend the capabilities of mobile and web applications by using server-side technologies
  • Software developers looking to expand their skill-set by learning to develop professional grade REST APIs
  • Those looking to learn Python while specifically catering to web services

Featured review

Zana Aziz
Zana Aziz
30 courses
7 reviews
Rating: 5.0 out of 57 months ago
Fantastic course, very good instructor and the content covered is relevant to pretty much build the majority of APIs needed nowadays. This is coming from an Angular (and NativeScript) developer that wanted to have the ability to get a solid backend up and running with proper authentication etc. I now have my eyes on the advanced version of this course actually just to wrap everything up with a nice bow on top!

Instructors

Jose Salvatierra
Founder of Teclado and Software Engineer
Jose Salvatierra
  • 4.6 Instructor Rating
  • 40,557 Reviews
  • 180,177 Students
  • 9 Courses

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.

Coding is extremely rewarding. As you learn, things start to click and make sense. You can join the dots of all the things that weren't quite clear before. I'm here to make that journey quick and painless!

I can help you with Python and JavaScript issues, particularly in web and backend development. I'm experienced with programming libraries and frameworks like Flask, React, React Native, and AngularJS. I've worked extensively with UNIX systems, MongoDB, PostgreSQL, and advanced system architecture design.

Teclado by Jose Salvatierra
Software Development For Everyone
Teclado by Jose Salvatierra
  • 4.6 Instructor Rating
  • 40,557 Reviews
  • 177,438 Students
  • 9 Courses

Teclado was founded by best-selling instructor Jose Salvatierra to bring software development to everyone. We create and develop great, informative, and fun courses for you to advance your career and acquire new skills.

Excellent quality, superb student support, and on-demand topics mark our courses. We hope to see you on the inside!

  • Udemy for Business
  • Teach on Udemy
  • Get the app
  • About us
  • Contact us
  • Careers
  • Blog
  • Help and Support
  • Affiliate
  • Terms
  • Privacy policy
  • Cookie settings
  • Sitemap
  • Featured courses
Udemy
© 2021 Udemy, Inc.