Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jacopofar/grammar-quiz
Online cloze deletion tool focused on grammar
https://github.com/jacopofar/grammar-quiz
grammar-correction language-learning nlp
Last synced: about 1 month ago
JSON representation
Online cloze deletion tool focused on grammar
- Host: GitHub
- URL: https://github.com/jacopofar/grammar-quiz
- Owner: jacopofar
- License: mit
- Created: 2020-05-24T15:32:41.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2023-07-13T11:32:40.000Z (over 1 year ago)
- Last Synced: 2023-07-13T12:29:56.553Z (over 1 year ago)
- Topics: grammar-correction, language-learning, nlp
- Language: Python
- Homepage:
- Size: 2.2 MB
- Stars: 6
- Watchers: 5
- Forks: 0
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# grammar-quiz
Online cloze deletion tool focused on grammar[![Build Status](https://travis-ci.org/jacopofar/grammar-quiz.svg?branch=master)](https://travis-ci.org/jacopofar/grammar-quiz)
This is a project for the [Kodoeba event](https://blog.tatoeba.org/2020/05/announcing-kodoeba-1.html) organized
by Tatoeba.This project aims at using the vast sentence database of Tatoeba to generate grammar exercises, in particular cloze
deletions, that can be used both to study and to evaluate the usage of a language.This project will be completely FOSS and the produced data will be published when possible and non-personal
(e.g. user account data).## How to run
First you need to import the Tatoeba data into a local Postgres DB. Look at the `scripts` folder for the various steps
and relative instructions. There are a few steps:
* build the lemma dataset, using a dump of en.wiktionary to extract lists of inflected words
* generate the cards from an export of Tatoeba sentences
* Load the cards into a database, this step is incremental and can also update an existing database### Run locally
To run locally you need Python 3.7 or later, node.js 10.x or later, the yarn package manager and make.
Use `make local-install` to install the dependencies for the frontend and backend.
With `make local-run-backend` the backend will listen at port 8000 and reload on change, then
`make local-run-frontend` will start the frontend server at port 3000, forwarding API calls to the port 8000 to
make developing as simple and quick as possible.### Run using Docker
You need to set up the environment variables listed in the `env.list` file. The easiest way is probably to use
the [dotenv CLI](https://github.com/venthur/dotenv-cli) tool.
Use `make build-docker-image` to build the Docker image, then run it withdotenv docker run --name grammarquiz --env-file env.list -p 8000:8000 grammarquiz:latest
or, if you want to connect to a postgres instance running in docker:
dotenv docker run --name grammarquiz --env-file env.list --link grammar-quiz-db -p 8000:8000 grammarquiz:latest
in this case the environment variable PG_CONN_STR needs
## Test
To test use `make local-install` and then `make test-all`
## Roadmap
You can see the planned roadmap and the progress in the project issues, organized in weekly milestones.