This is the frontend of the website langtools.io, the backend is not part of this repo.
The high-level execution flows looks as follows:
/pie is created fromtemplates/results.html where first the js frameworks from CDNs are loaded, then the script app.jsis loaded.
Finally, the function $(document).ready() gets executed with all its logic, the injection of the most relevant flask objects takes place there as well.
One need to install the dependencies for the flask app (python dependencies are managed by poetry):
poetry installOnce the dependencies are in place, run this.
poetry run python flask run --debugNote that it's a dummy flask application. It uses the endpoints from langtools.io.
Tests leverage the nodejs' 'jest' framework, first install the necessary nodejs modules:
npm installRun the unit tests:
npm testAdditionally, one can test UI with cypress:
npx cypress runIssues are to be raised and bugs to be reported on github, code is to be contributed on gitlab.
There's an issues tracker open to public set up at https://github.com/langtools/fe-cf-app/issues If you face an error or a bug on langtools.io, please raise it there.
The code could be contributed on gitlab.com/langtools/fe-pie-app To avoid the work in vain, at best, it should follow some issue or the need for such a change should be consulted upfront.