Here’s how to create a basic web app for your database in 10 minutes. Let’s explore the created app, and then the creation process.

Created Web App

As shown below, the apps are

  1. Multi-page: apps include 1 page per table. The screen show below shows a List Customer screen (with query), a Show (one) Customer page, and a Show Order page. Navigation controls enable you to transition between these pages.
  2. Multi-table: pages include related_views for each related child table, and join in parent data
  3. Favorite field first: first-displayed field is “name”, or contains “name” (configurable)
  4. Predictive joins: favorite field of each parent is shown (product name - not the foreign key product_id_)
  5. Ids last: such boring fields are not shown on lists, and at the end on other pages

The Challenge: Conventional Approaches Not Agile

Conventional approaches where you create pages a field at a time with a screen painter, or use Wizards to create pages, will not create such an app in 10 minutes. These also often require not only complicated coding, but also installing and configuring an IDE, frameworks, Web Servers, etc. Not agile.

Instead, we need an agile approach that introspects the data model, and creates not only all the pages, but also the transitions.

Creation Process

Let’s see how to create this app.

Background

As shown below, Flask AppBuilder (FAB) is a Python-based open source tool that uses sqlalchemy (an ORM for database access), and Flask (a micro web framework):

To drive FAB, you need to provide 2 model files:

  1. models.py: describes your database tables
  2. views.py: describes your pages

#open source #database #python #agile approach #web app #database access #flask #sqlalchemy #orm framework

Instant DB Web Apps
1.90 GEEK