... | ... | @@ -47,17 +47,35 @@ __4) helper apps: versioning, users, bootstrap__ |
|
|
> Not only does it protects against circular imports but it's also good design to have your data flow one way only.
|
|
|
|
|
|
## Frontend apps
|
|
|
The frontend code is mostly vanilla JS and some JQuery, we are considering using views.js, but since we are mostly backend devs we didn't jump in yet.
|
|
|
The frontend code is mostly vanilla JS and some JQuery, we are considering using vue.js, but since we are mostly backend devs we didn't jump in yet.
|
|
|
We try to be "javascript lazy", meaning we try to use as little ajax as possible (because it's a lot harder to maintain), but sometimes the UI cost is too great, a good example of this is the edition UI which is almost entirely JS.
|
|
|
More info on the largest blocks:
|
|
|
|
|
|
__1) edition panels__
|
|
|
[...]
|
|
|
__2) wheelzoom__
|
|
|
[...]
|
|
|
__3) baseline editor__
|
|
|
[...]
|
|
|
__1) edition panels__
|
|
|
The edition UI relies mostly on JS because it is complex and interconnected.
|
|
|
There are for now 3(4) panels:
|
|
|
* source, that only displays the image (later on it will be the location of images annotations)
|
|
|
* segmentation
|
|
|
* visual transcription
|
|
|
* (WIP) diplomatic transcription
|
|
|
|
|
|
__2) wheelzoom__
|
|
|
Somewhat independant library to deal with parallel zooming in standard DOM, SVG and CANVAS.
|
|
|
This breaks often..
|
|
|
|
|
|
__3) baseline editor__
|
|
|
Also an independant library whose goal is to allow the creation and correction of baselines and polygons over an image.
|
|
|
It is pretty much still under developement and hopefully at some point will have it's own repository.
|
|
|
A standalone version (not integrated into panels) is available at /baseline-editor/.
|
|
|
|
|
|
__4) external librairies__
|
|
|
[...]
|
|
|
They are located in `app/escriptorium/static/vendor/`
|
|
|
* jQuery (mostly for the modal we are trying to avoid using it as much as possible)
|
|
|
* bootstrap + fontawesome(free)
|
|
|
* dropzone
|
|
|
* moment
|
|
|
* paper.js
|
|
|
|
|
|
|
|
|
## Working with an asynchronous task queue: celery
|
|
|
[...] (some tuto somewhere?)
|
... | ... | |