Python API Development Fundamentals: Develop a full-stack web application with Python and Flask

Learn all that’s needed to build a fully functional web application from scratch.

Key Features

Delve deep into the principle behind RESTful API
Learn how to build a scalable web application with the RESTful API architecture and Flask framework
Know what are the exact tools and methodology to test your applications and how to use them

Book Description

Python is a flexible language that can be used for much more than just script development. By knowing the Python RESTful APIs work, you can build a powerful backend for web applications and mobile applications using Python.

You'll take your first steps by building a simple API and learning how the frontend web interface can communicate with the backend. You'll also learn how to serialize and deserialize objects using the marshmallow library. Then, you'll learn how to authenticate and authorize users using Flask-JWT. You'll also learn how to enhance your APIs by adding useful features, such as email, image upload, searching, and pagination. You'll wrap up the whole book by deploying your APIs to the cloud.

By the end of this book, you'll have the confidence and skill to leverage the power of RESTful APIs and Python to build efficient web applications.

What you will learn

Understand the concept of a RESTful API
Build a RESTful API using Flask and the Flask-Restful extension
Manipulate a database using Flask-SQLAlchemy and Flask-Migrate
Send out plaintext and HTML format emails using the Mailgun API
Implement a pagination function using Flask-SQLAlchemy
Use caching to improve API performance and efficiently obtain the latest information
Deploy an application to Heroku and test it using Postman

Who this book is for

This book is ideal for aspiring software developers who have a basic-to-intermediate knowledge of Python programming and who want to develop web applications using Python. Knowledge of how web applications work will be beneficial but is not essential.

Table of Contents

Your First Step
Starting to Build Our Project
Manipulating a Database with SQLAlchemy
Authentication and Security with JWT
Object Serialization with marshmallow
Email Confirmation
Working with Images
Pagination, Searching, and Ordering
Building More Features
Deployment