-
git clone https://github.com/9mmedia/charcutio-web.git -
Use latest Ruby using ruby-build and rbenv. If you just did a fresh Ruby install run the following commands:
gem update --system gem update gem install bundler rake foreman rails mailcatcher --no-rdoc --no-ri -
Create Heroku account, install Toolbelt and login using heroku CLI
-
Set a Heroku git remote. You can name it something else but examples in other sections will use
herokuas the remote name.git remote add heroku git@heroku.com:charcutio-web.git -
Install Homebrew
-
brew update -
brew install postgresql -
Follow any post installation instructions given by Homebrew
-
Move
/usr/local/binso our PostgreSQL install is used over the system install (OSX) and reload the current bash session since we updated the PATH variable.echo 'export PATH="/usr/local/bin:$PATH"' >> ~/.bash_profile source ~/.bash_profile -
gem uninstall pgsince if previously installed, gem might continue to use the wrong PostgreSQL installation -
bundle install -
createuser -d -r -S charcutio -
createdb -O charcutio charcutio_development -
createdb -O charcutio charcutio_test -
bundle exec rake db:migrate -
bundle exec rake db:test:prepare -
foreman startto start the server
-
(Optional) Run migrations and prepare test environment database
bundle exec rake db:migrate && bundle exec rake db:test:prepare -
Start the server using
foreman start -
bundle exec rspec -
Client side tests use QUnit through qunit-rails gem. Go to http://localhost:5000/qunit to see and run the QUnit Test Runner.
Simple implementation to get started with data pushing.
Create a new box, returns box id.
POST /boxes {"api_key": "API_KEY", "name": "Box Name"}
Report data point
POST /boxes/:id/report {"api_key": "API_KEY", "type": "temp", "value": 55.6}
Get temperature/humidity set points
GET /boxes/:id/set_points {"api_key": "API_KEY"}
Tweet a photo.
POST /boxes/:id/photo {"api_key": "API_KEY", "image_file": multipart_file}