Conference
Submission materials for PyCon 2023, April 19 in Salt Lake City. Links:
Description
Title
How to Create Web Applications Instantly with API Logic Server - create with one command, customize in your IDE
Description
Creating web-oriented database projects requires substantial time and background. In this Tutorial, we introduce a meaningfully faster and simpler approach.
Overview
In this tutorial:
- Seeing is believing - you will build, run and customize a complete multi-table database web app
- You will be able to use it tomorrow on your organizations databases
- You will also gain an excellent introduction to several popular Python technologies -- web apps, database access, project development, etc.
What is API Logic Server?
API Logic Server is an open source Python system that creates customizable database web app projects:
-
Creation is Instant: create executable projects from your database with a single command. Projects are Highly Functional, providing:
-
API: an endpoint for each table, with 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, using your IDE: such as VSCode, PyCharm, etc, for familiar edit/debug services
-
Business Logic Automation: using unique spreadsheet-like rules, extensible with Python
Tutorial - build and customize a system
In this Tutorial, you will:
-
Create an interesting multi-table application from a pre-supplied sample database
-
Run it
-
Customize it using VSCode.
-
Learn about declarative, spreadsheet-like business logic for multi-table constraints and derivations
Excellent Intro to Popular Technologies
This talk will also give you an intro to other technologies you may have already wanted to explore, with running code you can extend:
Technology | Used For | Notes |
---|---|---|
Python | Popular OO Language | New to Python? This is a great place to learn it * Start with running code * Explore, edit and debug in VSCode * No install, no config |
SQLAlchemy | Popular Python ORM | Python-friendly object-oriented database access |
Flask | Popular Python Web Framework | Use to add custom endpoints (examples provided) |
VSCode | Popular IDE | Use to customize API Logic Projects |
Codespaces | Cloud-based Dev Container | Provides IDE, git, etc - via a Browser interface |
APIs | Networked database access | Via the SAFRS framework |
Docker | Isolated Containers | Eg., DBMS, API Logic Server, Your App |
React-Admin | Simplified React UI framework | Further simplified via YAML model |
Declarative | Vague term ("what not how") | We'll describe key aspects |
What you will need
You will need a laptop with a Browser connection, and a GitHub account. You do not need a Python install, a database, or an IDE... and if you do have these, they won't be affected.
Audience
This tutorial is for developers interested in database systems, and the technologies above. Required background:
-
Basic programming familiarity (if you are familiar with
if/else
, parameterized function calls,row.column
object access, and basic event oriented programming, you are all set). Python experience is not required. -
Some database background (if you have heard of tables, columns and foreign keys, you are good to go).
Outline
This will be a series of short lectures, and hands-on usage (watch and/or do):
Section | Duration | We'll cover |
---|---|---|
Introduction | 15 min | * What is API Logic Server * Why we wrote it |
Starting Codespaces | 15 min (total 30) | * Create a cloud-based development environment * Access it VSCode via your browser) |
Create Project | 15 min (total 45) | Using pre-supplied sample database |
Explore Project | 30 min (total 1.25 hours) | * User Interface - a multi-page, multi-table application * API - using Swagger to explore pagination, filtering etc |
Customize Project | 30 min (total 1.75 hours) | * Explore Project Structure in VSCode * API: Add an Endpoint, and test it with the debugger * UI: Adjust captions, hide/show fields |
Business Logic | 30 min (total 2.25 hours) | * what it is * how to declare it * how it runs * how to debug it * what it means to be declarative |
Other Topics | 15 min (total 2.25 hours) | * Testing with the Behave Framework * Schema Migrations with Alembic |
Yes, a lot to cover, but automation makes it possible. Even easy.
Additional Notes
Since API Logic Server is open source, you can obtain it - explore its value, and/or investigate the Popular Technologies listed in the table above.
Speaking Experience
I have given hundreds of technology presentations to large and small groups, for both technical and business audiences.
-
I lead the PACE DBMS effort at Wang Labs, so gave many presentations for press briefings, User Conference Keynotes and working sessions, etc.
-
I was the CTO at Versata, so served as the lead technical presenter at User Groups and Conferences.