/open-taskpool

12,000 UK πŸ‡ΊπŸ‡¦ β†’ DE πŸ‡©πŸ‡ͺ & DE πŸ‡©πŸ‡ͺ β†’ ENπŸ‡¬πŸ‡§ learning tasks ready for you to use.

Primary LanguageJupyter Notebook

open taskpool

The Open Taskpool is an open source community curated set of language learning tasks, free to use under

Creative Commons
Creative Commons Attribution 4.0

Any contributions from the community are highly appreciated.
Let us fix education together!


Currently supported are the following language learning tasks:

  • select the missing word
  • write the missing word
  • write what you hear
  • translate the sentence

for the following language pairs:

  • UK πŸ‡ΊπŸ‡¦ β†’ DE πŸ‡©πŸ‡ͺ
  • DE πŸ‡©πŸ‡ͺ β†’ EN πŸ‡¬πŸ‡§

The data format used is the open source standard Bitmark.

Exercise Examples

Check out our Showroom and see how Open Taskpool exercises and the Taskbase Feedback Engine Β© can bring your language learning platform to the next level πŸš€.

Requirements

Managed Hosting

None 😎

A free hosted server is available at https://taskpool.taskbase.com/

Self-hosting

  • Python 3.10

  • Package dependencies

    cd server
    pip3 install -r requirements.txt

However, you can also use Docker and run the server within a container.

Check usage instructions on "How to run the API server" below.

Data Generation

  • Python 3.7
  • Jupyter Notebook
  • Package dependencies:
    cd scripts
    pip3 install -r requirements.txt

Usage

With Managed Hosting

This section is for you if you wish to integrate the Open Taskpool into your project but do not seek to self-host or extend it yourself.

The Open Taskpool ist hosted under https://taskpool.taskbase.com.

All you will need are the two following endpoints:

  1. GET https://taskpool.taskbase.com/words?translationPair=uk->de

    This endpoint gives you a list of all learnable words for the "uk->de" language pair.

    A list of all supported language pairs you can get by doing a GET https://taskpool.taskbase.com/translation-pairs. However, by now only "uk->de" is supported, so you can skip this step.

  2. GET https://taskpool.taskbase.com/exercises?translationPair=uk->de&word={your_word}

    This endpoint gives you exercises for the specified {your_word} which shall be a word from the list obtained in the previous step. Try for example the word: Buchstabe.

    By default, this endpoint returns the bitmark.essay exercise type, which represent the "translate the sentence" and "write what you hear" task. If you wish to get other exercise types, you can do so by specifying the exerciseType parameter.

Check out the OpenAPI Specification for more details.

How do I get automatic feedback for students working with Open Taskpool exercises?

This is where the Taskbase Feedback Engine Β© will help you.

It is accessible via a Bitmark Feedback API and integrates seamlessly with the Open Taskpool.

After aggregating the returned Bit exercise with student input you can do a POST to computeFeedback, and you'll receive automatic feedback to the student's input for the specific Open Taskpool exercise.

Get a free trial to the Feedback API

Coming Soon - stay tuned πŸ€“.

With Self-hosting

How to run the API server

This section is for you if you wish to run the Taskpool API server yourself.

Running the API server is possible via docker. Simply do the following from within the root:

cd docker/local-dev-env
docker-compose up

This will spin up a docker container and expose the API server under port :58000. Visit localhost:58000/redoc to access the OpenAPI Specification.

The database is included in the base image of that container.

You can also download a seeded taskpool.db SQLite database separately here. It includes language learning exercises for UK πŸ‡ΊπŸ‡¦ β†’ DE πŸ‡©πŸ‡ͺ and DE πŸ‡©πŸ‡ͺ β†’ EN πŸ‡¬πŸ‡§.

Obviously, you can also generate your own taskpool.db 😎.

To overwrite the default database in the image, place the taskpool.db file inside the root of this repository and uncomment the TASKPOOL_DB_PATH environment variable inside the docker-compose.yml file and make sure it's pointing to the correct file.

How to generate your own exercises

This section is for you if you wish to better understand how the automatic task generation works, or you would like to create your own exercises.

Under ./scripts you will find a README.md and all required scripts and jupyter notebooks that were used for generating the exercises. Following the steps there, you'll end up creating your own taskpool.db which you can then expose via the API server. By adjusting parameters in the scripts you'll be able to create your own exercises in the languages of your choice.

Outlook

In the future the current dataset will be extended by adding language learning exercises for:

  • DE πŸ‡©πŸ‡ͺ β†’ FR πŸ‡«πŸ‡·

Stay tuned πŸŽ“.

Credits

Data Sources

All source data currently used in the Open Taskpool comes from the Tatoeba Project and are made available via the Creative Commons Attribution 2.0 License.

Creative Commons