/expedia_hackathon_entry

Primary LanguageRubyGNU General Public License v3.0GPL-3.0

expedia_hackathon_entry

##Setup ###Setup git, rvm, ruby, and rails

####(if you have all these things, skip to the last instruction, otherwise, if you have git, skip the first part, otherwise, do all):

  • Git:

    • if on windows, you’ll need to download & install git for windows which comes with a basic bash emulator. Use the bash emulator as a terminal from now on

    • if on osx

    • if on debian-based linux, type "sudo apt-get install git"

  • RVM with ruby and rails 4.2.5:

  • On OSX and Linux, set your ruby version to 2.2.2 with:

    • "rvm install ruby-2.2.2**"**

    • **"**rvm use 2.2.2 --default”

###Make git work without typing ur password everytime

  • In terminal, if you don’t already have an ssh key:

    • run "ssh-keygen" and note the location of the resulting key file
  • goto https://github.com/settings/ssh

    • click add new key

    • enter your hostname/computername as the name

    • from terminal:

      • if on unix, type "cat ~/id_rsa.pub" or “cat (the location)”

      • elif on windows, type "type (the location from before)"

    • copy the output and paste as the key into github

###Clone the project directory for your own coding use

###Get a text editor working (I recommend sublime)

##Git commands that are useful:

  • When ready to start working after/before finishing a feature, branch from the master branch using “bundle update; bundle install; git checkout -b YOUR_BRANCH_NAME”
  • While working, frequently do “git push origin”
  • When done with a feature (ANY TANGIBLE, COMPLETE ADDITION TO THE APP), and you’ve gotten to a good stopping point where other people can work with ur code, and ready to update it with everyone else, do “git checkout master; git pull; bundle update; bundle install; git checkout YOUR_BRANCH_NAME”, then “git merge YOUR_BRANCH_NAME”, resolve merge conflicts, then “git push origin YOUR_BRANCH_NAME:master”, finally "git branch -d YOUR_BRANCH_NAME"

##Technologies that we'll be using:

  • Ruby on Rails for the general web framework
  • Bootstrap for a nice-looking CSS framework
  • Hammer.js to perform web-friendly gestures on the site