/voluntr

A volunteer app that locates nearby events and lets you record them

Primary LanguageHTML

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

    1. Scroll Effects for HTML Elements

We use angular scroll watch (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: gist.github.com/Newbsylberry/4df0412ea48d637e0a00