Express Eval
The fastest way to explore API Logic Server - with no install - is to follow this guide to create, explore and customize a project using Codespaces.
What is API Logic Server
API Logic Server 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
Follow the steps below to be up and running in about a minute - no install, no configuration. You can run the created project to explore its functionality, and how to customize it in VSCode.
Why Does It Matter: Faster, Simpler, Modern Architecture
Frameworks are too slow, Low Code is not dev-friendly
We looked at approaches for building database systems:
-
Frameworks: Frameworks like Flask or Django enable you to build a single endpoint or Hello World page, but a multi-endpoint API and multi-page application would take weeks or more.
-
Low Code Tools: these are great for building great UIs, but
- Want a multi-page app, instantly -- no layout required each screen
- Want to preserve standard dev tools (VSCode, PyCharm, git, etc) - propietary IDEs are not dev-friendly
And neither provides an answer for backend business logic (it's nearly half the effort).
API Logic Server - dev-friendly low-code automation
API Logic Server is a low-code, developer-friendly approach that leverages automation to dramatically improve web app development:
-
Automation makes it faster: moments, instead of weeks or months. Unblock UI Dev, and engage business users - early - to reduce misunderstandings. Customize with standard IDEs.
-
Automation makes it simpler: this reduces the risk of architectural errors, e.g., APIs without pagination.
-
Automation ensures a modern software architecture: container-ready, API-based, with shared logic over UIs and APIs (no more logic in UI controllers), in maintainable models.
1. Open in Codespaces
No install is required - this runs in the cloud, via your Browser, courtesy Codespaces. Use your existing GitHub account (no signup is required), and:
-
Click here to open the Create Codespace page.
-
Configure as desired, and click Create codespace.
This process takes about a minute. Wait until you see the port created.
What Is Happening
You will now see the template project - open in VSCode, in the Browser. But that's just what you see...
Behind the scenes, Codespaces has requisitioned a cloud machine, and loaded the template - with a complete development environment - Python, your dependencies, git, etc.
You are attached to this machine in your Browser, running VSCode.
These instructions are now visible in VS Code, to minimize window switching.
Pretty remarkable.
Verify it worked
VSCode will open in your Browser, and the project will perform various initialization tasks. After about 1 minute, verify as follows:
- Port is created
- Port made public
readme
opened, showing next step
These instructions will continue in Codespaces in the readme.md
(double-click it if it does not open automatically).
2. Create a project
Wait a bit for initialization to complete, then paste this into the Terminal window (lower right):
ApiLogicServer create --project_name=./ --db_url=
When prompted, do not rebuild the container.
What Just Happened
This is not a coded application.
The system examined your database (here, the default), and created an executable project:
-
API - an endpoint for each table, with full CRUD services, filtering, sorting, pagination and related data access
-
Admin UI - multi-page / multi-table apps, with page navigations and automatic joins
Projects are Customizable, using your IDE: the Project Explorer shows the project structure. Use the code editor to customize your project, and the debugger to debug it.
Business Logic is Automated: use unique spreadsheet-like rules to declare multi-table derivations and constraints - 40X more concise than code. Extend logic with Python.
Using your own database
In this case, we used a default Customers/Orders database. To use your own database, provide the db_url
like this.
3. Start Server, Admin App
The project is ready to run.
Use the prebuilt Run Configuration to start the server, and the prebuilt Port to start the web app.
Show Me How
As shown below:
-
Use the default Run Configuration to start the server, and
-
Click Ports > Globe to start the web app.
4. Explore the Tutorial
Open the Tutorial to explore the sample project.
Tutorial Overview
The Tutorial will enable you to explore 2 key aspects:
-
Initial Automation - API and UI creation are automated from the data model. So, later, you'd see this level of automation for your own databases.
-
Customization and Debugging - this sample also includes customizations for extending the API and declaring logic, and how to use VSCode to debug these. The Tutorial will clearly identify such pre-built customizations.
Extensive product documentation is available here - checkout the FAQs.
API Logic Server Background
Motivation
We looked at approaches for building database systems:
Frameworks
Frameworks like Flask or Django enable you to build a single endpoint or Hello World page, but a multi-endpoint API and multi-page application would take weeks or more.
Low Code Tools
These are great for building great UIs, but
- Want a multi-page app -- without requiring detail layout for each screen
- Want to preserve standard dev tools - VSCode, PyCharm, git, etc
- Need an answer for backend logic (it's nearly half the effort)
Our Approach: Instant, Standards-based Customization, Logic Automation
API Logic Server is an open source Python project. It runs as a standard Python (pip
) install, or under Docker. It consists of:
-
a set of runtimes (api, user interface, data access) for project execution, plus
-
a CLI (Command Language Interface) to create executable projects with a single command
Then,
-
Customize your projects in standard IDEs such as VSCode or PyCharm
-
Declare multi-table derivation and constraint logic using spreadsheet-like rules
- 40X more concise than code
- Extend with Python
API Logic Server reads your schema, and creates an executable, customizable project.