Skip to content

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

 

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.