Skip to content

redbadger/jams

Repository files navigation

Jams

Jams is a collaborative surey tool that gauges consensus around a series of sentences to which the participants can themselves contribute as well. It is being built as a Red Badger bench open source project.

A deployment can be currently found here: https://elated-austin-ae1db6.netlify.app/

Getting started

This is broadly the tech stack the project is using:

The current setup uses accounts/tenants configured with the following services:

The free tiers on all these services are adequate for low traffic deployments.

Running locally

  1. You will need to have Node installed (v14 is fine)

  2. Install yarn:

    npm install -g yarn
  3. The project expects a .env.local file with the following keys set:

    • AUTH0_ISSUER_BASE_URL - Auth0 tenant URL
    • AUTH0_CLIENT_ID - Auth0 app ID (should be a Web application)
    • AUTH0_CLIENT_SECRET - Auth0 app secret
    • NEXTAUTH_URL - Redirect URL for NextAuth. Probably http://localhost:3000 for local development
    • FIREBASE_DB_URL - URL of your Firebase DB

    Check .env.example for some example values.

  4. To authenticate API requests with Firebase, you'll need a service account key on a /secrets folder. After getting this file from Firebase run something like:

    mkdir secrets
    mv ${downloaded_file_path} secrets/firebase_admin_credentials.json
  5. Finally, run:

    yarn install
    yarn dev

The site will be running on http://localhost:3000.

Deployment

We're currently deploying using Github Actions. Our CI pipeline expects to find the following secrets set:

  • AUTH0_ISSUER_BASE_URL - Auth0 tenant URL
  • AUTH0_CLIENT_ID
  • AUTH0_CLIENT_SECRET
  • NEXTAUTH_URL - canonical URL of the deployed production site (used for redirect after auth)
  • FIREBASE_DB_URL
  • FIREBASE_ADMIN_CREDENTIALS - a base64 encoded version of the service account json
  • NETLIFY_AUTH_TOKEN - (optional) for deploying to Netlify through Github Actions
  • NETLIFY_SITE_ID - (optional)

Getting involved

The software is currently at MVP stage, contributions welcome!

Related projects / state of the art

Licence

Apache 2.0

About

Tool for collaborative surveys, measuring and creating consensus.

Resources

License

Stars

Watchers

Forks

Languages