This repository houses the application code for RemoteRetro.org, a free web app that allows distributed teams to conduct Agile retrospectives. It is written in Elixir/Phoenix/React/Redux, and is sponsored by Stride Consulting.
To see the project's current feature pipeline, simply install the wonderful ZenHub Chrome Extension.
brew install postgresql
# (follow directions supplied by brew output upon successful installation)
createdb
# depending on how you installed postgres, this user may already exist
createuser -s postgres
# make sure you can log in to default database
psql -h localhost
bin/install_erlang_and_elixir_with_dependencies
mix ecto.create && mix ecto.migrate
MIX_ENV=test mix ecto.create && mix ecto.migrate
bin/install_node_with_dependencies
Authentication within Remote Retro relies on Google OAuth and the Google+ API. To set this up, navigate to the Google API console and create a new project: https://console.developers.google.com/apis
Next, click on "Credentials" in the left sidebar nav. On the right hand side, click on the "Create Credentials" button and select "OAuth client ID".
Settings
http://localhost:4000
http://localhost:4000/auth/google/callback
Click on the Create button. Using the information Google provides, add the following lines to your profile and source (or open a new terminal).
export REMOTE_RETRO_GOOGLE_OAUTH_CLIENT_ID="<Client Id>"
export REMOTE_RETRO_GOOGLE_OAUTH_CLIENT_SECRET="<Client secret>"
export REMOTE_RETRO_GOOGLE_OAUTH_REDIRECT_URI="http://localhost:4000/auth/google/callback"
Finally, enable the Google+ API for your project.
Start Phoenix endpoint with mix
Now you can visit localhost:4000
from your browser.
To continually execute the backend unit tests on file change:
mix test.watch
To execute the backend unit tests manually:
mix test
To execute the end-to-end tests:
mix e2e
To continually execute the client-side unit tests on file change:
yarn test:watch
To execute the client-side unit tests manually:
yarn test
To run the local eslint:
mix lint
Many thanks to the project's contributors for devoting their time, energy, and passion, and additional thanks go out to the leadership of Stride Consulting for giving this project the opportunity it needed to bloom.