Furth FortuneEngineering reference
TECHNICAL DOCUMENTATION

Current / Stable · Alba web platform

On this page

Current / Stable / Web platform

Current / Stable

Alba is the web application platform in production use. Shared JSON definitions describe an application's tables, service calls, events and text. Wayland turns them into C#, JavaScript, TypeScript and SQL, and hand-written C# holds the application's rules.

Worked example

Adding a field to a running web application

A records team needs a "last inspected" date on every asset in their Alba application. The database, the server and the browser all have to agree on the new field.

  1. Add lastInspected to the asset table in the shared definitions. This is the only place the field is declared.

  2. Run Wayland. It writes the SQL that adds the column, the C# service types and the TypeScript the browser uses, all from that one definition.

  3. Write the rule in SystemLogic, the hand-written C# layer: an inspection older than a year marks the asset for review. Regeneration never overwrites this layer.

  4. Deploy. The web service, data service, PostgreSQL and Redis run as separate Docker containers, each with the project's own settings and secrets.

What happened

The browser, the server and the database disagree about nothing, because each read the same definition. Had someone renamed the field by hand in only one place, the generated code would no longer compile.

How an Alba application is built

Definitions

JSON definitions describe tables, fields, service calls, server events and localized text. They are the source for every generated file.

Generated code

Wayland writes C#, JavaScript, TypeScript and SQL from the definitions, so the database and both sides of the wire stay in step.

Application rules

SystemLogic holds the hand-written C#. Generated code calls into it, and it stays separate so regeneration does not replace it.

Services

WebPublic serves pages and browser assets. DataService answers service calls and pushes server events over a WebSocket.

Where Alba fits next to MTK

Alba serves web applications that need accounts, stored records, service calls, events and administration screens. Each application defines its own permissions and behavior on top of those shared parts.

MTK, in the 2027 group, is a separate platform with its own language, Trident, and its own runtime written in C. Alba does not run Trident, and the two share no code.

FURTH FORTUNE / ENGINEERING REFERENCEBack to top ↑