Tags
Language
Tags
December 2024
Su Mo Tu We Th Fr Sa
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 1 2 3 4

Building Rest Apis With Flask And Python In 2023

Posted By: ELK1nG
Building Rest Apis With Flask And Python In 2023

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

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.