Skip to content

cyrusinnovation/hindsight

Repository files navigation

hindsight

Angular front-end to our Hindsight Application - a tool for running seamless Retrospectives

There are a couple install options below - one using vagrant so projects leave no trace on your laptop or you can do the manual install option.

Vagrant Install

Install vagrant

Clone the repository

vagrant up

General principles for using vagrant

  • Edit on your 'host'. Use the IDE / OS that makes you the most productive / happiest.
  • Run the server/test on vagrant. SSH into the box
vagrant ssh
cd /vagrant
grunt server

The vagrant box shares the project directory so changes made in your ide are instant reflected on the box.

Notes on the vagrant environment

The box uses nvm to manage node.

vagrant ssh
cd /vagrant
nvm use

will get you to the root of the project and using the right version of node.

Because we use nvm, node is siloed to the vagrant user, so you shouldn't need sudo ever.

The box also uses rvm to manage java.

Browser tests run via X11. You must have XQuartz or similar installed for them to work. If you find this to be a PITA please remove selenium and make the tests run headlessly :-)

If you make changes to the box that you would like to see propagated to the team:

vagrant package

will make a .box file that you can put on the internets. Be sure to update the Vagrantfile to point to your new image.

Rational

Vagrant does a few very things well

  • You can get up and running in minutes, regardless of your experience
  • Projects leave no trace on your laptop
vagrant destroy
cd ..
rm -rf <project dir>
  • You can experiment with new server configuration:
    • Without destroying your laptop
    • Fear of loosing time if it all goes wrong
vagrant destroy
vagrant up
  • Share the new configuration with the team with a checkin

Manual Install

If you want to run your dev environment on your own machine do the following

After cloning the code into a directory, cd into the directory and run:

npm install
bower install

You may need to install Ruby and Compass (using rvm: "rvm install ruby-2.1.1" and "gem install compass").

If your shell can't find grunt after the npm install, you need to install grunt-cli globally by running: npm install -g grunt-cli

For integration tests, install protractor:
npm install -g protractor
(You may need to run 'sudo npm install -g protractor')

Download the selenium server with:
webdriver-manager update
(You may need to run 'sudo webdriver-manager update')

Running the server and tests

Start the app: grunt serve

Run the unit tests: grunt test

Check the integration tests pass by starting grunt server and starting the selenium server in separate terminal windows: grunt serve
webdriver-manager start

and finally, run the integration tests: protractor tests/protractor.conf.js

To deploy, we are hosting on heroku and you must run: grunt build to write new dist/ files and then commit and push the dist files to heroku: git commit -m "build" git push heroku

About

Angular front-end to hindsight

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published