A feedback tool for Holacracy companies.
Sparks conversations since 2016
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
See the CONTRIBUTING.md file on how to contribute to this project.
See the CONTRIBUTORS.md file for a list of contributors to the project.
Check out the Sphinx docs for detailed information
- 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.
A quickstart for a local development.
Pull the repository from GitHub to your local machine:
cd ~Projects/wearespindle git clone [email protected]:wearespindle/flindt.git cd flindt
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.
[email protected]
:
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.
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.
You can add an OAuth2-enabled application in the Django Administration-backend. Follow these steps:
- Browse to
http://localhost:8005/admin/oauth2_provider/application/
- Add application (button on top right corner)
- Add this (hard-coded) "Client id" -->
DsHaTowmFoOr3GQLOOoJaXQpViaV6NsIFzOVY3ME
- "User" should point to the added superuser. Use the looking glass to find it.
- "Client type" --> Public
- "Authorization grant type" --> Resource owner password-based
- "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.