PyCon23 Talk
Title
Creating Web Applications Instantly with API Logic Server - create with one command, customize in your IDE
Description
This Talk introduces a meaningfully faster and simpler approach for building database web apps.
Overview
In this talk:
- You'll see a complete, multi-table database web app - built, run, customized in VSCode
- You'll be able to use it tomorrow on your organizations databases
- You'll see several popular technologies in use (listed below)
- You can explore these - running code, in a working project
What is API Logic Server?
API Logic Server is an open source Python system for creating customizable database web app projects from a database:
-
API: endpoint for each table - filtering, sorting, pagination and related data access
-
Admin UI: multi-page / multi-table apps, with page navigations, automatic joins and declarative hide/show
Projects are Customizable - use VSCode for edit/debug
Declare spreadsheet-like rules for multi-table derivations and constraints, customizable with Python
Excellent Intro to Popular Technologies
This tutorial introduces other technologies you perhaps wanted to explore, with running code:
Technology | Used For |
---|---|
Python | Customization |
SQLAlchemy | ORM database access |
Flask | Web Framework |
VSCode | IDE |
Codespaces | Cloud-based Dev Container |
APIs | Networked database access |
Docker | Isolated Containers |
React-Admin | Simplified React UI framework |
Declarative | What not how |
Audience
This tutorial is for developers interested in database systems, and the technologies above. Required background:
-
Basic programming:
if/else
, parameterized function calls,row.column
object access, and basic event oriented programming. Python experience is not required. -
Some database: aware of tables, columns and foreign keys.
Outline
This will be 75% live demo, with slides for context and background:
-
Introduction (5 min) - why the project was created
-
Create Codespace (5) - create Codespace, access in Browser
-
Create API Logic Project (5) - use CLI to create project from pre-supplied database
-
Explore Project (10) - explore the created UI, exercise the API in Swagger
-
Customize Project (10) - use VSCode (in Browser) to add an API Endpoint and debug it, hide/show UI fields
-
Declarative Rules (10) - use VSCode to declare spreadsheet like rules, and test/debug
-
Wrap (15) - final remarks, questions, other topics to explore (testing, schema migration)
Yes, a lot to cover, but automation makes it possible. Even easy.
Requirements
An internet connection, though I can demo locally if that becomes a problem.