Technical reference / C# web application platform
Alba
Alba is a platform for server-side web applications. Shared definitions connect the database, service calls, events, and client code.
- Shared definitions
- Wayland
- Server + client + SQL
- Application
How Alba works
A set of JSON definitions describes tables, fields, service calls, server events, and localized text. Wayland reads those definitions and generates C#, JavaScript, TypeScript, and SQL. Developers write application rules in a separate code layer.
Main parts
WebPublic serves pages and browser assets. DataService handles service calls and server events over a WebSocket, a connection that lets the client and server send messages in both directions. SystemLogic holds application rules. PostgreSQL stores records, and Redis provides shared caching.
Accounts and application tools
The platform includes user accounts, roles, content tools, moderation, and administration. Each application defines its own permissions and behavior on top of those shared parts.
Data and generated code
The shared definitions are the source for generated files. A change to a table or service definition flows into database scripts and client interfaces. Hand-written application code stays separate so generation does not replace it.
Deployment
A typical Docker stack runs the web service, data service, PostgreSQL, and Redis in separate containers. Each project has its own settings, secrets, data, tests, and release process.
Where it fits
Alba supports web applications that need accounts, stored records, service calls, events, and administrative tools. It is a separate codebase from MTK. It does not use the Trident runtime.