Architecture

Software packages

The backend and frontend is released with the following python packages:

adhocracy_core
framework and generic rest api, admin frontend
adhocracy_sample
examples how to customize resource/sheet types
adhocracy_frontend
framework for the javascript frontend
adhocracy_xyz
Backend extensions for project specific application
xyz
projects specific application with javascript frontend

Frontend Technical Admin Interface (substanced)

   
HTML Admin interface Technical admin interface (serverside rendering)
Authentication Cooky Authentication based on cookies and session id.

Frontend Javascript (Single Page Application)

   
Javscript Frontend Single Page Application (client side rendering)
Cache Proxy Proxy to cache http requests (varnish)
Cache Headers Set http caching headers, compute etag)
Cache Purging Send purge request to Cache server when resources are updated
Authentication Token Authentication based on request header token.
REST API JSON representation of resources to Create/Read/Update/Delete.
HTML Frontend HTML representation of resources (only root, serves javascript/settings/routings)
Websockets client Send notification mesages to the websockets server when resources are updated

Backend Resource Handling

The red line groups responsibility for persistence data storage (Note: all perstence data access should be done with the sheets). For further explenations see Modules.