Sprawl is a data framework and set of APIs for managing application domains as Types, Actions and Objects.

NOTE: the current Sprawl content, what little there is, on the main website is somewhat out-of-date. This page details the current direction of the roadmap.

The goal of the system is to provide a structured platform upon which domain-specific applications can be built. There are server-side and client-side components.

The "preprocessing backend", as it were, takes as input a set of Type Specifications, Action handlers (server and client), and Object lists. The output is a set of files, largely generated from templates that are used to manipulate and render the data in various ways, that together form the server and client-side components of a web application (or a data repository, at least): these pieces will include SQL scripts to generate database models based on the application type system, PHP scripts that act as AJAX endpoints for REST APIs, Javascript classes that instantiate client-side objects representing database data in the fashion of an ORM, and other functionality.

This project is a research & learning work to investigate the web platform, taking a concept from abstraction to concrete implementation.

I hope to use the software output of this project as a platform to build online interactive experiences based on shared worlds, the first experiment being a galactic space strategy game.

Wisdom will be a likely dependancy for some client-side components generated by the system.