Building Rest Apis With Flask And Python In 2023
Published 9/2023
MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
Language: English | Size: 4.80 GB | Duration: 9h 24m
Published 9/2023
MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
Language: English | Size: 4.80 GB | Duration: 9h 24m
Develop expert REST APIs using Python, Flask, Docker, Flask-Smorest, and Flask-SQLAlchemy for a professional touch
What you'll learn
Establish connections between web or mobile applications and databases and servers using REST APIs.
Build robust and secure REST APIs that encompass authentication, deployments, and database migrations.
Grasp the various layers of a web server and comprehend how web applications interact within this framework.
Implement seamless user authentication with advanced functionalities, such as token refresh.
Manage user log-outs effectively and protect against abuse in REST APIs by employing JWT blacklisting.
Create high-quality REST APIs with guidance from experienced professionals.
Enhance the performance of your REST APIs by utilizing task queues and background workers.
Requirements
Prior programming experience in any language will be beneficial, but the course also includes a comprehensive Python refresher.
All the necessary software for the course is provided at no cost to participants.
If you are a complete beginner, you might consider starting with a beginner Python course before enrolling in this one to ensure a smooth transition.
Description
Welcome to the best-selling Udemy course on REST API development! I'm Pratap, a software engineer, and I'm here to help you master web and REST API development using Python, Flask, and Docker.In this comprehensive course, we will cover everything you need to know, starting with a Python refresher that will take you from the basics to advanced features. We'll then dive into creating simple, intermediate, and advanced REST APIs, complete with authentication, database handling, and more, using Flask and popular extensions like Flask-Smorest, Flask-JWT-Extended, and Flask-SQLAlchemy.Throughout the course, we'll explore essential technologies such as Git, Postman and database, ensuring you have all the tools you need to build production-ready REST APIs. Additionally, we'll cover Docker to simplify the process of running and deploying your APIs.By the end of this course, you'll have the skills to:Create resource-based, production-ready REST APIs using Python, Flask, and popular extensions.Handle secure user registration and authentication with Flask.Efficiently store resources to a database using SQLAlchemy and Flask-SQLAlchemy.Understand the complexities of deploying Flask REST APIs.But first, let's understand what a REST API is. It's an application that accepts data from clients and returns data back. For instance, it can handle user authentication by accepting a username and password and checking their validity in the database. REST APIs are commonly used by web apps and mobile apps as clients.With the knowledge you'll gain in this course, you'll be able to develop any REST API you need for your own projects.I take great pride in offering exceptional support and feedback to every student. I'll be available to guide you and answer any questions you may have.Don't wait any longer; take the first step toward mastering REST API development. I look forward to seeing you inside the course!
Overview
Section 1: Introduction
Lecture 1 Exercise: Meet Your Classmates & Instructor
Lecture 2 Environment Setup
Lecture 3 How to take this course?
Lecture 4 Install Python on Mac
Lecture 5 Install Python on Windows
Section 2: Let's recap Python
Lecture 6 Introduction to this section
Lecture 7 Access the code for this section from here
Lecture 8 Variables in Python
Lecture 9 String formatting in Python
Lecture 10 Getting user input
Lecture 11 Writing our first Python app
Lecture 12 Lists, tuples and sets in Python
Lecture 13 Advanced Sets operation
Lecture 14 Booleans in Python
Lecture 15 if statements
Lecture 16 The 'in' keyword in Python
Lecture 17 if statements with the 'in' keyword
Lecture 18 Loops in Python - for loop
Lecture 19 Loops in Python - while loop
Lecture 20 List comprehensions in Python
Lecture 21 Dictionaries
Lecture 22 Dictionary comprehensions
Lecture 23 Destructuring in Python
Lecture 24 Functions in Python
Lecture 25 Function arguments
Lecture 26 Default argument and keyword arguments
Lecture 27 Functions returning values
Lecture 28 Lambda functions in Python
Lecture 29 Unpacking arguments and keyword arguments
Lecture 30 Object-Oriented Programming in Python
Lecture 31 Magic methods: __str__ and __repr__
Lecture 32 @classmethod and @staticmethod
Lecture 33 Class inheritance
Lecture 34 Class composition
Lecture 35 Type hinting in Python3.5+
Lecture 36 Modules and Imports in Python
Lecture 37 Absolute and Relative imports in Python
Lecture 38 Exceptions in Python
Lecture 39 Custom exception classes
Lecture 40 First-class functions
Lecture 41 Simple decorator in Python
Lecture 42 The @ syntax for decorator
Lecture 43 Mutability in Python
Lecture 44 Mutable default parameters (and why they're a bad idea)
Section 3: Your first REST API
Lecture 45 Overview of the Project we will build
Lecture 46 Initial setup for a Flask app
Lecture 47 Your first REST API endpoint
Lecture 48 What is JSON?
Lecture 49 How to interact with and test your REST API?
Lecture 50 How to create shops in our REST API?
Lecture 51 How to create product in each shop?
Lecture 52 How to get a specific shop and its specific products?
Section 4: Introduction to Docker
Lecture 53 What are Docker containers and images?
Lecture 54 Download resources
Lecture 55 Running a Flask app in a Docker container
Section 5: Flask-Smorest for more efficient development
Lecture 56 Adding dependencies and adding DB
Lecture 57 Adding new endpoints to our API
Lecture 58 Testing the new endpoints and fixing the errors
Lecture 59 How to run the API in Docker with automatic reloading and debug mode?
Lecture 60 How to use Blueprints and MethodViews with Shops?
Lecture 61 How to use Blueprints and MethodViews with Product?
Lecture 62 How to write marshmallow schemas for our API?
Lecture 63 How to perform data validation with marshmallow?
Lecture 64 Decorating responses with Flask-Smorest
Lecture 65 Download Postman Collection
Lecture 66 Testing our APIs after integrating marshmallow
Section 6: Store data in a SQL database with SQLAlchemy
Lecture 67 Overview and why use SQLAlchemy
Lecture 68 Get started and create ProductModel and ShopModel
Lecture 69 How to write one-to-many relationships using SQLAlchemy?
Lecture 70 How to configure Flask-SQLAlchemy with your Flask app?
Lecture 71 How to insert data into a table using SQLAlchemy?
Lecture 72 How to find models in the database by ID or return a 404?
Lecture 73 How to update models with SQLAlchemy?
Lecture 74 How to retrieve list of all models?
Lecture 75 How to delete models and related models (Cascades) with SQLAlchemy?
Lecture 76 Testing the changes we have made in this section
Section 7: User authentication with Flask-JWT-Extended
Lecture 77 What is a JWT?
Lecture 78 How to set up Flask-JWT-Extended with our app?
Lecture 79 Coding the User model and schema
Lecture 80 How to add a register endpoint to the REST API?
Lecture 81 How to add a login endpoint to the REST API?
Lecture 82 Protect endpoints by requiring a JWT
Lecture 83 How to add logout to the REST API
Lecture 84 Token refreshing with Flask-JWT-Extended
Lecture 85 Testing the changes we have made with JWT so far
Section 8: Git Crash Course
Lecture 86 Introduction to git and basic commands
Lecture 87 Understanding branches and git branch commands
Lecture 88 Understanding remote repositories and its commands
Lecture 89 Advanced Git commands
Lecture 90 Git rebase vs Git merge vs Git Squash
Lecture 91 How to resolve merge conflicts?
Lecture 92 What is .gitignore and why do we need it?
Lecture 93 Git Submodules and few tips related to git
Lecture 94 Initialising git in our REST API
Section 9: Building our frontend to integrate our REST API (Optional)
Lecture 95 Downloading front-end code and running
Lecture 96 Extracting the front-end code and running
Section 10: Deployments with Render.com
Lecture 97 Creating a Render.com Web Service to host our REST API
Lecture 98 How to run Flask with gunicorn in Docker for production server
Lecture 99 Creating a Render.com Static Sites to serve our front-end
Lecture 100 Test the finished production app
Individuals interested in enhancing the functionalities of web and mobile applications through server-side technologies.,Software developers seeking to broaden their expertise by mastering the development of professional-grade REST APIs.,Aspirants aiming to learn Python with a focus on building web services.