Webpipeline
is the project name for 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 text-based (or
some serialization format)-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 is in back/
. The main front-end is in client/
, while a simpler
frontend used only for lemmalist
and unknown-lemmas-in-dict
is in front/
.
In each directory, there is a Makefile
, to simplify running commands.
Running make
(or make help
) will show a list of commands.
An binary executable filed is required in back/
, called back/lookup
, for
running the lemmalist
and unknown-lemmas-in-dict
endpoints. It is not
under source control.