Giter Club home page Giter Club logo

open-taskpool's Introduction

open taskpool

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

Creative Commons
Creative Commons Attribution 4.0


Currently supported are the following language learning tasks for UK πŸ‡ΊπŸ‡¦ - DE πŸ‡©πŸ‡ͺ:

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

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.

A seeded taskpool.db SQLite database with language learning exercises for UK πŸ‡ΊπŸ‡¦ β†’ DE πŸ‡©πŸ‡ͺ can be downloaded here. Download that file and place it inside the root of this repository.

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.

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 πŸ‡©πŸ‡ͺ β†’ EN πŸ‡¬πŸ‡§
  • 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

open-taskpool's People

Contributors

kristianmitk avatar bersling avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.