Skip to content

Building Blocks

Jython

Jython is a Java implementation of Python. It allows developers to write Python code that interacts with Java libraries. In SØAD, all Transactions (controller logic) are written in Jython.

MySQL

MySQL is the default database used in SØAD, chosen for its reliability, performance, and community support. However, SØAD supports any RDBMS with a JDBC driver.

ActiveJDBC

ActiveJDBC is a Java-based ORM that follows the Active Record pattern. It automatically maps database tables to model classes and includes powerful query methods such as findAll(), where(), first(), and saveIt().

SØAD will auto-generate a Model class for each table on startup or via the introspection API.

handlebars.java

handlebars.java is a Java port of the popular Handlebars templating language. It powers the View layer in SØAD and uses ctx.output (a Java Map) to populate template variables.

HTML, CSS, and JavaScript

SØAD comes bundled with carefully selected front-end libraries so developers can hit the ground running. While defaults are provided, the framework remains flexible enough to integrate with other libraries.

bootstrap

Bootstrap is included for responsive design and prebuilt UI components.

htmx

htmx is included to enable dynamic HTML updates without needing heavy frontend frameworks.

Other integrated JavaScript libraries:

  • jQuery
  • FullCalendar
  • DataTables