Git Product home page Git Product logo

pebbleframe's Introduction

Stories in Ready

ItemChimp

A Data Visualization Tool for Shoppers

Team

Original Team

  • Product Owner: Chistina Holland
  • Scrum Master: Michael Cheng
  • Development Team Members: Jeff Peoples, Vinaya Gopisetti

Legacy Team

  • Scrum Master: Craig Smith
  • Development Team Members: Adam Van Antwerp, Henry Ng, Brandon Ellis

Table of Contents

  1. Usage
  2. Requirements
  3. Development
    1. Installing Dependencies
    2. Tasks
  4. Team
  5. Contributing

Usage

This app is built with React.js on the front-end and Node.js/Express on the back-end. There are several major parts of this app:

  1. Front-end: React.js - React allows each part of the UI to be broken into modular components. These components can be inserted into other components easily to maintain an organized separation of concerns. The various components for the React front-end are found in the client folder.

  2. Back-end: Node.js/Express Framework - The Express framework provides middleware to make working with Node much simpler.

  3. Database: MySql (Bookshelf ORM) - MySql, a relational database, is used to store user and review data. The schema and models for our MySql database can be found in server/db.

  4. APIs: The two primary APIs used in this app are the Walmart and Best Buy APIs. The Amazon API is also incorporated into this app, but unfortunately, Amazon does not return reviews directly, so we cannot utilize its review data for our D3 visualization.

  5. D3 - D3 is used to visualize the data retrieved from API requests.

  6. Browserify - Browserify is used to allow the require statement to be used on browser code. It recursively analyzes all the require calls in the app and builds a bundle that is served up to the browser in a single <script> tag. It is standard practice to use something like Browserify (or Webpack) with React.js.

  7. Grunt - Grunt is used to run the server (nodemon) and browserify at the same time, so that whenever a React file is changed, browserify will automatically compile it. Therefore, use grunt serve for development.

Requirements

  • Node 0.10.x
  • MySql

Development

Installing Dependencies

From within the root directory:

sudo npm install -g bower
npm install
bower install

To set up the MySql database:

mysql.server start
mysql -u root < server/db/schema.sql

Then, rename server/db/config.json.example to config.json. By default, it will point to the local database. If you want to use a remote database, simply change the values in the config to point to your prefered server.

schema.sql will build the necessary database for the app.

schema

Getting started

To start the app, simply use

grunt serve

from the root directory.

Roadmap

View the project roadmap here

Contributing

See CONTRIBUTING.md for contribution guidelines.

pebbleframe's People

Contributors

michaelcheng924 avatar hsubox76 avatar vinwin avatar meisterpeeps avatar craigsmith24 avatar theadamizer avatar steelburgher avatar spidy88 avatar henryng24 avatar kennyt avatar

Stargazers

 avatar

Watchers

James Cloos avatar  avatar  avatar  avatar  avatar

pebbleframe's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.