Mô tả

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:

  1. Create resource-based, production-ready REST APIs using Python, Flask, and popular extensions.

  2. Handle secure user registration and authentication with Flask.

  3. Efficiently store resources to a database using SQLAlchemy and Flask-SQLAlchemy.

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

Bạn sẽ học được gì

Yêu cầu

Nội dung khoá học

11 sections

Introduction

6 lectures
Introduction to the course
02:38
Exercise: Meet Your Classmates & Instructor
00:54
Environment Setup
05:39
How to get started with this Course?
00:40
Installing Python on Mac
00:24
Install Python on Windows
00:50

Let's recap Python

47 lectures
Section Introduction
01:38
Get the code for this section from here
00:31
Variables
04:25
Variables
1 question
String formatting
04:00
Getting user input
03:43
Writing our first Python app
02:32
Lists, tuples and sets in Python
07:15
Advanced Sets operation
05:40
Lists, tuples, and set
1 question
Booleans in Python
03:43
if statements
08:11
The 'in' keyword in Python
03:32
if statements with the 'in' keyword
02:45
Loops in Python - for loop
07:21
Loops in Python - while loop
10:09
Flow control—loops and ifs
1 question
List comprehensions in Python
07:29
Dictionaries
09:04
Dictionary comprehensions
05:55
Destructuring in Python
04:58
Dictionaries called students
1 question
Functions in Python
04:47
Function arguments
04:24
Default argument and keyword arguments
02:50
Functions returning values
07:23
Functions
1 question
Lambda functions in Python
03:24
Unpacking arguments and keyword arguments
10:44
Object-Oriented Programming in Python
10:34
Magic methods: __str__ and __repr__
07:35
Classes and objects
1 question
@classmethod and @staticmethod
10:13
@classmethod and @staticmethod
1 question
Class inheritance
13:08
Class composition
04:22
Type hinting in Python3.5+
03:15
Modules and Imports in Python
05:00
Absolute and Relative imports in Python
08:37
Exceptions in Python
05:59
Custom exception classes
06:09
First-class functions
08:16
Simple decorator in Python
03:59
The @ syntax for decorator
05:02
Mutability in Python
04:31
Mutable default parameters (and why they're a bad idea)
03:59
Python Basics - Quiz
15 questions

Advanced Python

3 lectures
Keep in Mind
00:06
Python's map() Function Explained
05:22
Python's filter() Function Explained
04:03

Let's build our first REST API

9 lectures
Summary of the project we intend to develop.
03:14
Setting up the initial configuration for a Flask application
06:04
Creating the first endpoint for your REST API in Flask
03:29
What is JSON?
05:36
Testing and interacting with your REST API
01:34
Creating shops in your REST API
08:03
Adding products to shops in your REST API
07:08
Retrieving a specific shop and its products in your REST API
03:38
Flask and REST API Basics
10 questions

Introduction to Docker

4 lectures
What are Docker containers and images?
07:14
Download resources
00:08
Running a Flask app in a Docker container
05:10
Virtualization and Containerization Technology Quiz
5 questions

Leveraging Flask-Smorest for streamlined and efficient development

12 lectures
Adding dependencies and adding DB
06:14
Adding new endpoints to our API
06:04
Testing the new endpoints and fixing the errors
07:00
Running the API in Docker with auto-reload and debug mode
10:12
Using Blueprints and MethodViews for Shops in your API
12:11
Using Blueprints and MethodViews for Products in your API
07:59
Creating Marshmallow schemas for your API
04:35
Implementing data validation using Marshmallow
03:54
Enhancing responses with Flask-Smorest decorators
04:07
Download Postman Collection
00:29
Testing our APIs after integrating marshmallow
06:45
Flask-Smorest and Marshmallow Basics
10 questions

Store data in a SQL database with SQLAlchemy

12 lectures
Note before going to next lecture
00:11
Introduction to SQLAlchemy
03:33
Get started and create ProductModel and ShopModel
04:16
Creating one-to-many relationships with SQLAlchemy
10:33
Setting up Flask-SQLAlchemy configuration for your Flask app
03:23
Inserting data into a table using SQLAlchemy
06:44
Finding models in the database by ID or returning a 404 if not found
04:20
Updating models using SQLAlchemy
02:34
Retrieving a list of all models
00:59
Deleting models and related models with cascading using SQLAlchemy
05:36
Testing the changes we have made in this section
13:32
SQLAlchemy Basics
5 questions

User authentication with Flask-JWT-Extended

11 lectures
What is a JWT?
11:53
Configuring Flask-JWT-Extended for integration with your Flask app
03:38
Implementing the User model and schema in our Flask app
02:03
Adding a registration endpoint to your REST API
08:19
Integrating a login endpoint into the REST API
06:17
Securing endpoints by mandating JWT authentication
06:55
Implementing a logout feature in your REST API
06:14
Token refreshing with Flask-JWT-Extended
01:03
Refreshing tokens using Flask-JWT-Extended in your application
08:20
Testing the changes we have made with JWT so far
11:29
JWT and Flask-JWT-Extended Basics
10 questions

Git Crash Course

10 lectures
Introduction to git and basic commands
05:31
Understanding branches and git branch commands
02:57
Understanding remote repositories and its commands
09:51
Advanced Git commands
04:36
Git rebase vs Git merge vs Git Squash
07:14
How to resolve merge conflicts?
04:54
What is .gitignore and why do we need it?
02:13
Git Submodules and few tips related to git
03:15
Initialising git in our REST API
04:51
Test your Git knowledge
5 questions

Building our frontend to integrate our REST API (Optional)

2 lectures
Downloading front-end code and running
01:37
Extracting the front-end code and running
13:22

Deployments our REST Api using Render.com

5 lectures
Creating a Render.com Web Service to host our REST API
07:52
How to run Flask with gunicorn in Docker for production server
06:49
Creating a Render.com Static Sites to serve our front-end
05:11
Test the finished production app
07:28
Test your skills
4 questions

Đánh giá của học viên

Chưa có đánh giá
Course Rating
5
0%
4
0%
3
0%
2
0%
1
0%

Bình luận khách hàng

Viết Bình Luận

Bạn đánh giá khoá học này thế nào?

image

Đăng ký get khoá học Udemy - Unica - Gitiho giá chỉ 50k!

Get khoá học giá rẻ ngay trước khi bị fix.