Menu

Intro

Our project involves developing a private web-based dashboard for Mother Road Brewing Company in Flagstaff, AZ.

The brewery relies on multiple data sources for executive and management teams to create production forecasts, sales goals, and monitor financial performance. Our goal is to collect data from applications such as VIP and Square in order to present them to employees in a more effective way. The dashboard will allow users to compare the current state of sales to data from the previous month or year. Users will also be able to set custom goals within the application.

Team Members

Developers

Andrew Alonis

Veronika Alves

Rick Jamil

Jason Travis




Mentor

  • Dr. Maggie Vanderberg

  • Email: Maggie.Vanderberg@nau.edu

  • Office: NAU, Engineering Building, Room 212

  • Phone: 928-523-3698

  • http://www.cefns.nau.edu/~mlh395

Sponsor

  • Michael and Alissa Marquess

  • Founders and Managing Partners

  • Mother Road Brewing Company

  • 7 South Mikes Pike

  • Flagstaff, Arizona 86001

Tools

Collaboration and Version Control

  • Google Docs: Used to create and share project documents such as the Software Requirements Specification, Design Document, and Presentations

  • Git: Source code management program used to track, merge, and compare revisions

  • waffle.io: A project management service that integrates with the issue tracker for the Git source code repository. It is used to distribute


  • Software Stack

  • Heroku: A cloud computing service used to host the application

  • NodeJS: Server-side event-driven Javascript runtime in which the backend executes

  • ExpressJS: The de facto NodeJS web-server framework

  • Foundation: A frontend framework

  • AngularJS: Client-side framework used to create an interactive web applications following the Model-View-Controller paradigm

  • MongoDB: A NoSQL database used to persist information such as user and application authentication credentials, sales goals and trends, permissions, etc


  • Development Tools

  • StriderCD: A Continuous Integration & Deployment Server used to monitor the Git source code repository for changes. When a change is detected, it runs the test suites, code quality analysis tools, and any other prelease actions. Assuming everything passes, it automatically uploads the latest release to the production server.

  • GruntJS: Task-runner used to automate tasks such as spawning local development servers, monitor the project directory for changes, run code quality static analysis tools, generate documentation and reports, and execute test suites

  • Karma: Test runner to automatically spawn server processes, execute the test suite in various browsers, and report the results

  • JsHint and JSCS: Javascript code quality static analysis tools

  • Mocha: Behavior Driven Development Javascript test framework for unit testing both server-side and client-side code

  • Protractor: A framework to create end-to-end functional tests for AngularJS applications

  • PhantomJS

  • Jsdox: Scans program source code to generate developer API documentation