Mutably is a tool for learning natural languages. It currently offers partial support for Dutch verb conjugation.
Anvil | API |
---|---|
Development is focused on verb conjugation with the hope of bringing this task to voice platforms. To accomplish this, we need:
- A dataset that forms the basis of conjugation
- General methods to extract relational inflection data from the set
- A common API for the front-end applications
- An initial target platform for testing voice interfaces
The project has three components for now:
- database - a PostgreSQL database for storing word data
- anvil - a tool exploring and importing archives
- api - a RESTful API that provides unified access to core service logic
Before starting the service, you should install the following:
- Docker
- Docker Compose
- wget
- lbzip2
Then carry out the following two steps:
- Run
get-archive.sh
from thearchive
folder. This downloads a Wiktionary archive for parsing. The initial download is ~700M and the decompressed version is ~6G. The service only needs the decompressed file. - Run
docker-compose up
in the root project directory, passing in the required environment variables. See the docker-compose file for a list of required variables.
The REST documentation can be found on the host at port 80 and the REST service at port 8080.
It is important that the main branch stays production ready. This goal is accomplished by only introducing changes through PRs--which are only accepted after passing all build checks. The build checks act as a measure of quality, so it is important that they stay relevent in order to guage the quality of current code. We can accomplish currency by ensuring all pull requests come with tests for units introduced and the integration of those units with the existing codebase.