-
Notifications
You must be signed in to change notification settings - Fork 4
Home
Collection of implementation and architectural notes.
- Middleware is Flask and language is Python 3.6.8 (as per Ubuntu Server 18.04.3 LTS).
- UI code (web pages and JavaScript) are entirely static - no dynamic page generation by middleware.
- All data interaction takes place through REST API endpoints.
- There may eventually be an UI for J-M's distribution builder solution, but it will be entirely external to this solution. Integration between it and this, will be the Upload and Publish -interface, where the distribution builder may by-pass upload and enter publish UI simply by indicating the file-path of the generated image.
Useful Resources in vm.utu.fi:
- SQLite3 Administrator UI (requires a password)
- API Documentation
- API Documentation in JSON
- Flask Configuration (requires SSO authentication)
One of the design goals has been to keep the HTML neat and clean (as opposed to Bootstrap CSS class hell), thus making editing a simple task even with limited knowledge of HTML. Rationale is that the content in the pages may need revisions as time goes by, but the style is expected to stay the same for as long as this site is in use.
Back-end architecture is simple and the routes are kept super simple. All business logic is in separate classes or packages. Directory structure should also be very simple to understand and use.
- Visualization Elements (HTML/CSS)
- Authentication and Sessions
- Upload
- Download
- Database and Data Structure
API documentation will not be maintained here. Instead reader is encouraged to view /api.html - self-documenting interface that lists routing and documentation as it currently is.
DataTables (or possibly JQuery) Ajax calls terminate early, but all data is still passed though. Everything works, but error messages look ugly. See the StackExchange link below for how to ignore the errors either in Nginx or uWSGI config.
See also StackExchange