REST API Development With Python and Flask
REST API is a way for clients, such as web or mobile applications, to interact with a server and exchange data. For instance, a REST API could receive a request with a username and password from a client and return information on whether the user exists in the database.
When building REST APIs, the focus is on providing a seamless experience for the clients rather than the end-users. Clients of REST APIs are typically web or mobile apps, as opposed to a traditional website where the users themselves act as clients.
Through this process, you will learn how to develop a REST API that provides both authentication and data storage and retrieval capabilities. This knowledge will be valuable for creating any type of REST API for future projects
Course Key learnings:
- Integrate web/mobile apps with databases and servers using REST APIs
- Develop secure, reliable REST APIs with authentication, deployment, and database migration support
- Acquire knowledge of web server architecture and the interaction between web applications
- Implement user authentication with advanced features such as token refresh
- Enhance security with JWT blacklisting during log-outs and prevent API abuse
Learn to develop high-quality REST APIs through expert guidance - Enhance API performance through task queues and background workers optimization
Course Content:
Module1: A Full Python Refresher
-
Variables
-
Lists, tuples, and set
-
Advanced set operation
-
Lists, tuple
-
Booleans in Python
-
If statement
-
The ‘in’ keyword in Python
-
If statements with the ‘in’ keyword
-
Loops in Python
-
Flow control—loops and ifs
-
List comprehensions in Python
-
Dictionaries
-
Destructuring variable
-
Functions in Python
-
Function arguments and parameter
-
Default parameter value
-
Functions returning value
-
Functions
-
Lambda functions in Python
-
Dictionary comprehension
-
Dictionaries and students (Python 3.10)
-
Unpacking argument
-
Unpacking keyword argument
-
Object-Oriented Programming in Python
-
Magic methods: __str__ and __repr_
-
Classes and objects (Python 3.10)
-
Class inheritance
-
Imports in Python
-
Relative imports in Python
-
Errors in Python
-
Custom error classes
-
First-class function
-
Simple decorators in Python
-
The ‘at’ syntax for decorator
-
Decorating functions with parameter
-
Decorators with parameter
-
Mutability in Python
-
Mutable default parameters
- Access the course e-book here
- overview of the project
- Initial set-up for a Flask app
- Your first REST API endpoint
- What is JSON
- How to interact with and test your REST API
- How to create stores in our REST AP
- How to create items in each store
- How to get a specific store and its items
Module3: Introduction to Docker
- What are Docker Con
-
How to run a Flask app in a Docker container
-
In-depth Docker tutorial notes
Module4: Flask-smorest
- Data model improvements for our API
- General improvements to our first REST API
- New endpoints for our first REST API
- How to run the API in Docker with automatic reloading and debug mode
- How to use Blueprints and Method Views in Flask
- How to write marshmallow schemas for our API
- How to perform data validation with marshmallow
- Decorating responses with Flask-Smorest
Module5: Store Data in SQL database with SQL Alchemy
-
Overview and why use SQLAlchemy
-
How to code a simple SQL Alchemy mode
-
How to write one-to-many relationships using SQLAlchem
-
How to configure Flask-SQL Alchemy with your Flask app
-
How to insert data into a table using SQL Alchem
-
How to find models in the database by ID or return
-
How to update models with SQL Alchemy
-
How to retrieve list of all model
-
How to delete models with SQL Alchemy
-
Deleting related models with cascade
-
Conclusion of this section
-
Changes in this section
-
One-to-many relationship between stores and tag
-
Many-to-many relationship between items and tags
-
Changes in this sectio
-
What is a JWT
-
Who uses the JWT
-
How to set up Flask-JWT-Extended with our ap
-
Coding the User model and schema
-
How to add a registered endpoint to the REST AP
-
How to add a login endpoint to the REST AP
-
Protect endpoints by requiring a JW
-
JWT claims and authorization
-
How to add logout to the REST API
-
Request chaining with Insomnia
-
Token refreshing with Flask-JWT-Extended
-
Why use database migrations at all
-
How to add Flask-Migrate to our Flask app
-
Initialize your database with Flask-Migrate
-
Change SQL Alchemy models and generate a migration
-
Manually review and modify database migrations
Module9: GIT Crash Course:
- What are Git repositories and commits
- Initialize a Git repository for our project
- Writing Markdown for documents and commits
- Remote repositories and how to use them
- Git branches and merging
- Merge conflicts and how to resolve the
- Overview of the final e-book chapters
International Student Fee: 300$
Job Interview Preparation (Soft Skills Questions & Answers)
- Tough Open-Ended Job Interview Questions
- What to Wear for Best Job Interview Attire
- Job Interview Question- What are You Passionate About?
- How to Prepare for a Job Promotion Interview
Your FREE eLEARNING Courses (Click Here)
Internships, Freelance and Full-Time Work opportunities
Flexible Class Options
- Week End Classes For Professionals SAT | SUN
- Corporate Group Trainings Available
- Online Classes – Live Virtual Class (L.V.C), Online Training
Related Courses
Complete Web development Bootcamp with React JS
Full Stack Web Developer Training (Python and Django)
Diploma in Python -Web Development,Flask , AI, Machine Learning and Data Science
Full Stack Web-Development With Django And Flask
Full Stack Web Developer With Python And Flask