A crowdsourced sign language dictionary.
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.
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:
mix ua_inspector.download
mix deps.get
mix ecto.setup
cd assets/ && yarn install && cd ..
mix phx.server
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
First, make the PostgreSQL and redis servers point to the docker services. Change hostname: "localhost"
to hostname: "db"
in config/dev.exs
, and add host: "redis"
to the :exq
section in config/config.exs
.
Then run
docker-compose up
to install all dependencies and start the PostgreSQL, redis and web server services (including code reloading). The website is available at http://localhost:4000.
With that you have a running system and a default admin user called
[email protected]
with the password thepasswordisalie
.
Before you contribute code, please make sure to read the CONTRIBUTING.md
In development mode Bamboo
will not sent emails. Instead you can see what
would have been sent out here: http://localhost:4000/sent_emails
This project is using yarn for javascript dependency management.
You can also use the included Procfile
to start redis and the phoenix server at
the same time. Install foreman
with gem install foreman
and execute foreman start
to have both started automatically.
mix test
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.
You can import a file using a json file with mix importer file.json
. The json should have this format.
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.