Core components¶
Main¶
The main application is the django framework which loads the three django applications which make up standards lab.
ui
api
processor
The django framework is configured using:
settings/<settings file>
urls.py
wsgi.py
manage.py
UI¶
The UI application is further separated into two applications depending on responsibility.
The Django UI application is responsible for:
URL routing
Http Requests
Templates
Views
Common data templates’ context
The VueJS application is responsible for:
Interactivity within the web page
Rendering and two way bindings of in-page VueJS templates with data from the API
Sending and receiving data from the API
API¶
The API provides endpoints primarily for the VueJS application. All responses are JSON
format.
/api/
project/<project-name>
GET: returns project configuration
POST: (
JSON
) updates or creates the project configuration (edit mode only)
project/<project-name>/upload
POST: Upload data to the project. (
FormData
)FILE
required propertiesuploadType
values"schema"
or"data"
for the different upload types.
project/<project-name>/download/<file-name>
GET: Returns project file. Optional property
attach=true
determines if the file should be sent to the browser as an attachment or as data. Default not present.
project/<project-name>/process
GET: Returns the status(es) and results of any Processor running for specified project
POST: (
JSON
) required propertiesaction
value"start"
,processName
value"<name-of-processor>"
Processor¶
The processor is responsible for starting, defining and communicating with processing jobs. Each processor implements a start
function and a monitor
function.
When you run Standards Lab using docker-compose, the redis queue data is persisted in the _build/redis-data/
directory.
Utils¶
Utility functions that are common to all of the django applications.