Python API Developments

(PYTHON-API.AJ1)/ISBN:978-1-64459-452-0

This course includes

Lessons

11+ Lessons | 103+ Exercises | 80+ Quizzes | 65+ Flashcards | 65+ Glossary of terms

TestPrep

45+ Pre Assessment Questions | 45+ Post Assessment Questions |

Hands-On Labs

11+ LiveLab | 00+ Minutes

Here's what you will learn

Download Course Outline

Lessons 1: Preface

  • About the Course

Lessons 2: Your First Step

  • Introduction
  • Understanding API
  • RESTful API
  • HTTP Protocol
  • HTTP Methods and CRUD
  • The JSON Format
  • HTTP Status Codes
  • Open API
  • The Flask Web Framework
  • Building a Simple Recipe Management Application
  • Using curl or httpie to Test All the Endpoints
  • Postman
  • Summary

Lessons 3: Starting to Build Our Project

  • Introduction
  • What is Flask-RESTful?
  • Virtual Environment
  • Creating a Recipe Model
  • Configuring Endpoints
  • Making HTTP Requests to the Flask API Using curl and httpie
  • Summary

Lessons 4: Manipulating a Database with SQLAlchemy

  • Introduction
  • Databases
  • SQL
  • ORM
  • Defining Our Models
  • Password Hashing
  • Summary

Lessons 5: Authentication Services and Security with JWT

  • Introduction
  • JWT
  • Flask-JWT-Extended
  • Designing the Methods in the Recipe Model
  • Refresh Tokens
  • The User Logout Mechanism
  • Summary

Lessons 6: Object Serialization with marshmallow

  • Introduction
  • Serialization versus Deserialization
  • marshmallow
  • A Simple Schema
  • UserSchema Design
  • RecipeSchema Design
  • The PATCH Method
  • Summary

Lessons 7: Email Confirmation

  • Introduction
  • Mailgun
  • User Account Activation Workflow
  • HTML Format Email
  • Summary

Lessons 8: Working with Images

  • Introduction
  • Building the User Avatar Function
  • Flask-Uploads
  • Image Resizing and Compression
  • Introduction to Pillow
  • Summary

Lessons 9: Pagination, Searching, and Ordering

  • Introduction
  • Pagination
  • Paginated APIs
  • Recipe Searching
  • Sorting and Ordering
  • Summary

Lessons 10: Building More Features

  • Introduction
  • Caching
  • Flask-Caching
  • API Rate Limiting
  • Flask-Limiter
  • Summary

Lessons 11: Deployment

  • Introduction
  • Deployment
  • Comparing SaaS, PaaS, and IaaS
  • The Heroku Platform
  • Configuration Handling in Smilecook
  • Heroku Application
  • Heroku Add-Ons
  • Setting Up Environment Variables for the Heroku App
  • Setting Up Variables in Postman
  • Setting Up the Front-end Interface to Work with the Smilecook API
  • Summary

Hands-on LAB Activities

Your First Step

  • Building a Flask Application Using PyCharm
  • Managing Recipes with Flask

Starting to Build Our Project

  • Analyzing the Recipe Model and Testing its Endpoints

Manipulating a Database with SQLAlchemy

  • Using Flask-Migrate to Build a Database Upgrade Script

Authentication Services and Security with JWT

  • Analyzing a User Login Function
  • Analyzing the Logout Function

Object Serialization with marshmallow

  • Using marshmallow to Validate the User Data
  • Analyzing RecipeSchema

Working with Images

  • Adding the avatar_image Attribute to the User Model

Pagination, Searching, and Ordering

  • Analyzing the Implementation of Pagination on the Published Recipes Retrieval Function

Deployment

  • Analyzing How to Segregate Application Configura...ween the Development and Production Environments