OpenATBackend
Open Assistive (Technology) - What is it?
Its a site to collate all Open source Hardware and Software projects from around the web that aim to help someone with disabilities (i.e. Assistive Technology).
The site (will be) a static site hosted by GitHub pages. Its dynamically generated by http://gohugo.io. The full site can be found at https://github.com/openassistive/OpenATFrontEnd
On the site a user can add a new project by adding a project from say Thingiverse, Sourceforge, Github or others. This API is then called that scrapes the site for the important meta-data and with "save" can then save the data to the GitHub repo for the front-end. Travis will then rebuild the site (or project maintainers will manually build the site daily).
Why this way? Well because we want to create a sustainable, low-cost and easy to manage system. We think this is one of the easiest - and most reliable "stacks" to do this! Its a bit of an experiment
Details
OpenATBackend is a node server that has 2 API routes. For details see the documentation here
To run
You will need some environment variables to make this run. Notably:
GitHubOAuth
with your GitHub Personal Access Token.RecaptchaSecret
with your Google details here and then apply to the env var..AlgoliaAppID
- from a Algolia accountAlgoliaAPIKey
- from the same Algolia accountOpenATIndexName=OPENAT
- the name of the Algolia index you are pushing to
and to test simply set this env var:
- TEST_MODE=1
I recommend using direnv for this task. It makes setting env vars between projects much easier. Otherwise use a script a bit like this:
#!/bin/sh
export GitHubOAuth=<key>
export RecaptchaSecret=<secret>
export AlgoliaAppID=<id>
export AlgoliaAPIKey=<key>
export OpenATIndexName=OPENAT
export TEST_MODE=1
e.g. in your terminal:
git clone https://github.com/openassistive/OpenATBackend.git
npm install
node server.js
then navigate to http://localhost:5000 to access the server.