TactileVision / TactJam-server

composing and exploring vibrotactile patterns (tactons) in real time; share tactons and design stunning tactile experiences collaboratively

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

TactJam-server

TactJam setup

TactJam is a collaborative playground for composing spatial tactons. The project is split into the following repositories:

The server

Our goal is to deliver a stable API server for handling the data from the users of the TactJam workshop. Our TactJam-Client will communicate with this backend to save, edit or delete user generated tactons.

Documentation of the endpoints

The documentation of the server is automatically generated with JSdoc and swagger. Please go to /docs to see all available endpoints.

Security

This server handles user data (email, password), which means we need to develop it as safe as possible. Passwords will only be stored as an hash. We're using the award-winning Argon2 hashing algorithm to create the hashes which will be saved to the database then.

Server Location

The live-server will be located at the HTW-Dresden. There are access restrictions in place. Unauthorized will have no access to the data or logs on the server.

Installation

Install dependencies first yarn install

Make a copy of the .env.example file, call it .env and adjust the values in it to suit your environment.

Now Make sure the database is initialized and the postgREST server is working (see database.md).

Dev server with hotreload

yarn dev

Start server

yarn start

Database

You can find information about the database in the database.md.

How to contribute

Anyone with the passion for free software is welcome to contribute to this project by:

  • 👩‍💻 developing software
  • 👾 filing any issues or suggesting new features
  • 🧑‍🏭 sending pull requests for fixed bugs or new features

Before you start, please take a look at the project board and the issues. Maybe there is already a similar bug or feature request that is already under construction and may need your expertise and support.

Branching model

In 2010 Vincent Driessen wrote a nice blog post where he introduced a branching model called git-flow. Over the years it became very popular and was used in many projects. Meanwhile GitHub introduced a much simpler workflow called GitHub flow. Both approaches have their pros and cons. That’s why we use a combination – git-flow as the branching model and the pull request workflow suggested in GitHub flow.

How to commit

To make contribution easier for everyone we like use a common structure of git commit messages:

<type>[optional scope]: <description>
[optional body]
[optional footer(s)]

Please refer to www.conventionalcommits.org for more information.

Code style

This might not be the world’s largest code base. However, a consistent code style makes it easier to read and maintain. For this server we use eslint in combination with prettier. You can find our configuration in the package.json. Please only commit code in this code style.

Copyright

TactJam-hardware is (C) 2020 Tactile Vision

It is licensed under the MIT license. For details, please refer to the LICENSE file.

About

composing and exploring vibrotactile patterns (tactons) in real time; share tactons and design stunning tactile experiences collaboratively

License:MIT License


Languages

Language:JavaScript 90.1%Language:PLpgSQL 9.7%Language:Shell 0.2%