Skip to content
This repository has been archived by the owner on Feb 5, 2020. It is now read-only.
/ flindt Public archive

The repository for the Spindle feedback tool.

License

Notifications You must be signed in to change notification settings

wearespindle/flindt

Repository files navigation

https://user-images.githubusercontent.com/519955/34173812-07860bf6-e4f7-11e7-8cbb-2a1c19695b7e.png

A feedback tool for Holacracy companies.

Sparks conversations since 2016

Status

https://travis-ci.org/wearespindle/flindt.svg?branch=develop

Active / maintained.

At the moment this project a MVP (Minimum Viable Product) and is currently Docker-based only.

However, the frontend is meant to be run outside of Docker. You can find the repo for the front end at https://github.com/wearespindle/flindt-front-end

Contributing

See the CONTRIBUTING.md file on how to contribute to this project.

Contributors

See the CONTRIBUTORS.md file for a list of contributors to the project.

Usage

Check out the Sphinx docs for detailed information

Requirements

  • You have git installed.
  • You have Docker and docker-compose installed.
  • To be able to give and receive feedback you need an active account at GlassFrog.
  • For OAuth2 authentication, a Google Developer-account is preferred.
  • For notifications an account at Slack.

Development

A quickstart for a local development.

Local setup

Pull the repository from GitHub to your local machine:

cd ~Projects/wearespindle
git clone git@github.com:wearespindle/flindt.git
cd flindt

Docker related

In your shell, run one of these commands before starting:

export PORT=3000 when you want a Dockerized frontend, listening on port 3000.

export PORT=3001 or any other port than "3000", for when you run the frontend outside of Docker.

  • Build the containers (database, backend and front end):

docker-compose build

  • Start the 3 containers in the background:

docker-compose up -d

  • Wait something like 10 to 15 seconds for the DB-container to initialize and run the default Django migrate-stuff:

docker-compose run --rm backend python manage.py migrate

  • Add a superuser, e.g. john.doe@wearespindle.com:

docker-compose run --rm backend python manage.py createsuperuser

You'll have to restart the environment to get anything to show up in the browser:

docker-compose restart

Now you can connect to the backend at http://localhost:8005/admin/.

Login with the superuser & password you've just created. You are now ready to add an OAuth2-enabled application.

OAuth2 authentication

To make use of the Google API to login, you need to create an .env-file in the backend folder (so not the root of the project!).

The following credentials needs to be set in this .env-file:

SOCIAL_AUTH_GOOGLE_PLUS_KEY=your_client_id
SOCIAL_AUTH_GOOGLE_PLUS_SECRET=your_client_secret
SOCIAL_AUTH_GOOGLE_PLUS_WHITELISTED_DOMAINS=your_whitelisted_domains
CORS_ORIGIN_WHITELIST=localhost:3000,localhost:8005,yourdomain.com

The Google Plus secret can be found in the Google Developer dashboard.

Add an OAuth2-enabled application

You can add an OAuth2-enabled application in the Django Administration-backend. Follow these steps:

  1. Browse to http://localhost:8005/admin/oauth2_provider/application/
  2. Add application (button on top right corner)
  3. Add this (hard-coded) "Client id" --> DsHaTowmFoOr3GQLOOoJaXQpViaV6NsIFzOVY3ME
  4. "User" should point to the added superuser. Use the looking glass to find it.
  5. "Client type" --> Public
  6. "Authorization grant type" --> Resource owner password-based
  7. "Name" is OK to remain empty

You should be able to login to the frontend using the superuser's email-address at http://localhost:3000/.

At this point selecting the options "Give feedback" and "Received feedback" are waiting indefinitely. This is because there aren't any feedback objects for a user as of yet.

Continue with the documentation at Starting to work.

About

The repository for the Spindle feedback tool.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages