A web REST API for grocery retailers to upload their product data and for developers to access that data through HTTP Requests. Built using the Rails MVC framework and using a PostgreSQL database.
- example user: user@example.com
- example password: password
My Trello Board with UMLs & wireframes
-
To request all categories; returns all categories:
https://grocerylink.herokuapp.com/api/lookup/categories?client_id=b9a39a944f59043f&secret_id=79b0a9758fa7712a3444bfab75241f2c04b1bf786fb0f88e27eb415211cf19f6 -
To request all retailers; returns all retailers:
https://grocerylink.herokuapp.com/api/lookup/retailers?client_id=b9a39a944f59043f&secret_id=79b0a9758fa7712a3444bfab75241f2c04b1bf786fb0f88e27eb415211cf19f6 -
To request all retailers in area; returns all retailers in city & state:
https://grocerylink.herokuapp.com/api/lookup/retailersinarea?client_id=b9a39a944f59043f&secret_id=79b0a9758fa7712a3444bfab75241f2c04b1bf786fb0f88e27eb415211cf19f6&city=Austin&state=TX -
To request by id; returns all retailer's that carry the item and price for each retailer:
https://grocerylink.herokuapp.com/api/products/byid?client_id=b9a39a944f59043f&secret_id=79b0a9758fa7712a3444bfab75241f2c04b1bf786fb0f88e27eb415211cf19f6&id=4 -
To request products that match by name; returns each product's info and retailers that carry the item:
https://grocerylink.herokuapp.com/api/products/byname?client_id=b9a39a944f59043f&secret_id=79b0a9758fa7712a3444bfab75241f2c04b1bf786fb0f88e27eb415211cf19f6&name=Amy
- clone repo
- run
bundle install - run
rake db:create db:migrate db:seed
- make sure the rake tasks above have run
- unless you'll be using code climate, remove 1st two lines from
test_helper.rb. If you wish to sign up to track coverage, go to: Code Climate and follow their instructions. - to have tests run with each push and tracked from your github repo, go to: Travis CI and follow their instructions to have them run your tests.
- run
rake testin the terminal to run locally.
- Materializecss was used to create most of the styling.
- Canvas.JS was used to create dynamic charts,
http://creativecommons.org/licenses/by-nc/3.0/deed.en_US - DataTables was used to create data tables.
- React was used to run and display reports.
- Notable gems:
fiagrocodeclimate-test-reportermochadevisemandrill_dmpg_searchreact-railsjquery_datatables-rails, github: 'rweng/jquery-datatables-rails'momentjs-railsinformation_machine_api, github: 'information-machine/information-machine-api-ruby'pumamaterialize-sassboostrap-sasswill_paginatewill_paginate-boostrapfaker