== README
Please familiarize yourself with GIT:
Git - Github Flow - https://guides.github.com/introduction/flow/index.html Git - How to 'fork' a repo - https://help.github.com/articles/fork-a-repo/ Git - How to create a new 'branch' - https://help.github.com/articles/creating-and-deleting-branches-within-your-repository/#creating-a-branch Git - Pulling a branch - https://help.github.com/articles/creating-and-deleting-branches-within-your-repository/#creating-a-branch Git - Merge - http://git-scm.com/docs/git-merge
For OSX Yosemite (Ubuntu users, you're on your own), this assumes you've set up git, so if you haven't go do that.
After install iterm2, or opening your terminal window, install Homebrew and RVM
Homebrew: ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
RVM: brew install gnupg gnupg2 gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 \curl -sSL https://get.rvm.io | bash -s stable --ruby Follow instructions in terminal to source
Next install and start PostgreSQL brew update brew doctor brew install postgres pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start
Time to install and start redis: brew install redis
Using git clone the repository to whatever directory you choose
Change into that directory and install the applications dependencies cd ~/the/directory/you/chose (pro tip, hit tab when using the terminal to autocomplete paths) bundle install
Create and update database structure rake db:create ; rake db:migrate Note: If there are errors, look for a file name, (e.g. - /Users/yourusername/Documents/voluntr_api/db/migrate/20150406145707_add_organization_id_to_person_opportunity_recorded_hours.rb) and erase the file.
Start resque rake resque:work QUEUE='*' INTERVAL=0.5
Install and Start Elasticsearch brew install Caskroom/cask/java brew install elasticsearch ln -sfv /usr/local/opt/elasticsearch/*.plist ~/Library/LaunchAgents launchctl load ~/Library/LaunchAgents/homebrew.mxcl.elasticsearch.plist
Get the front end framework situated NPM - Click download button at https://nodejs.org/ Dependencies - In application root directory, 'cd front_end', then npm install Yeoman - 'sudo npm install -g yo' Grunt - 'sudo npm install -g grunt-cli' Bower - 'sudo npm install -g bower' Compass - 'gem install compass'
Try and start the front end server (grunt serve) if you get an error, rollback event emitter: cd node_modules/grunt-connect-proxy/node_modules/http-proxy/ npm install eventemitter3@0.1.6
Install bower dependencies In front end directory: "bower install"
Then install Ruby and Rails rvm install 2.1.2 --default
Starting Application
in the root directoy - rails s
Additional Resources
We use angular scroll watch (https://github.com/pc035860/angular-scroll-watch) to handle effects and actions triggered by scrolling. Here is a gist with an example of how this is used, the repo also has countless examples and information: https://gist.github.com/Newbsylberry/4df0412ea48d637e0a00