Book Image

Full-Stack Flask and React

By : Adedeji
3.5 (2)
Book Image

Full-Stack Flask and React

3.5 (2)
By: Adedeji

Overview of this book

Developing an interactive, efficient, and fast enterprise web application requires both the right approach and tooling. If you are a web developer looking for a way to tap the power of React’s reusable UI components and the simplicity of Flask for backend development to develop production-ready, scalable web apps in Python, then this book is for you. Starting with an introduction to React, a JavaScript library for building highly interactive and reusable user interfaces, you’ll progress to data modeling for the web using SQLAlchemy and PostgreSQL, and then get to grips with Restful API development. This book will aid you in identifying your app users and managing access to your web application. You’ll also explore modular architectural design for Flask-based web applications and master error-handling techniques. Before you deploy your web app on AWS, this book will show you how to integrate unit testing best practices to ensure code reliability and functionality, making your apps not only efficient and fast but also robust and dependable. By the end of this book, you’ll have acquired deep knowledge of the Flask and React technology stacks, which will help you undertake web application development with confidence.
Table of Contents (21 chapters)
1
Part 1 – Frontend Development with React
9
Part 2 – Backend Development with Flask

Migration with Alembic

As discussed earlier, Alembic is a migration tool that makes the tracking of changes in a database a less problematic operation for Flask developers. Since we expect data models to change, we need a tool that can keep track of these changes and ensure they are updated in the database.

This is similar to how we do version control of source code using Git. The same applies to database schema change management, where we keep incremental and reversible changes in the database structure. Working with a database table, you will want to add or remove columns, thus altering the schema in a Python model class.

Once this is done, you need an automatic process to ensure your database table and the state of the data model schema are in sync. Alembic graciously handles the schema migration and ensures that the data model in a Python file is the same as the database structure.

Let’s examine how you can implement migration in a Flask application. We will add...