LingTools is the replacement of the "old cgi-bin"
scripts, used for running various lingustic pipelines on a web server, for
clients.
The old ones was written in perl, running through cgi-bin, with perl generating
simple websites directly for the response. This new one splits up the
functionality in an api part, and a front-end part. The API will run on
the server, and run the actual pipelines, and provide simple json- or text-based
replies, which the front-end will use.
The API is written in Rust, using the Axum web api framework. The built binary
is run through a container which contains the required hfst- and cg3- tools
built into it, while getting .hfst's and other language model files mapped
into it from volumes.
The front-end is written in Svelte, with SvelteKit, hosted as a standalone node project, run from a simple node-based docker image.
The API source code is in back/ and the front-end source code is in front/.
In each directory, there is a Justfile, to simplify running commands.
Running just (or just help) will show a list of commands.