Skip to content

signdict/website

SignDict.org

A crowdsourced sign language dictionary.

Build Status Coverage Status

Here we will work on SignDict. A sign language dictionary where registered users can add new signs using their webcam. With the crowdsourcing approach we can create the most accurate and largest German sign language dictionary together.

You want to help? Awesome. Scroll through the issues, open a new one, join our Gitter Community or just send a short notice using the contact form. We are happy about every person who wants to help.

We also offer an API.

Development setup

SignDict uses Elixir and Phoenix. Information on how to install Elixir can be found here.

For the video transcoding it uses redis. On mac, install it via brew install --cask redis, or sudo apt install redis-server for Linux and start it.

As database it uses PostgreSQL.

After you installed everything, the setup is as follows:

Mac instructions

mix ua_inspector.download
mix deps.get
mix ecto.setup
cd assets/ && yarn install && cd ..
mix phx.server

Linux instructions

Note: If you run into postgres password authentication errors, check out this blogpost for help.

mix deps.get
mix ecto.setup
sudo apt install npm
sudo npm install -g yarn
cd assets/ && yarn install && cd ..
mix phx.server

How to run the suite

mix test

Deployment

The server is configured using ansible with this playbook and can be updated with:

ansible-playbook ansible/playbook.yml -i ansible/hosts --extra-vars '{"username": "******"}'

The system is currently using bootleg to deploy the app. Simply call bootleg_user=USERNAME mix bootleg.update to deploy it to the production environment.

Importing files manually

You can import a file using a json file with mix importer file.json. The json should have this format.

Funding

This project is government funded by the German Federal Ministry of Education and Research and is part of the 1st batch of the prototype fund.

Logo of the German Federal Ministry of Education and Research Prototype Fund Logo