Black Thursday

Black Thursday

A business is only as smart as its data. Let’s build a system to manage our data and execute business intelligence queries against the data from a typical e-commerce business.

Project Overview

Learning Goals

  • Use tests to drive both the design and implementation of code
  • Decompose a large application into components
  • Design a solution that is functional, readable, maintainable, and testable
  • Learn an agile approach to building software

Getting Started

  1. One team member forks the repository here and adds the other(s) as collaborators.
  2. Everyone on the team clones the repository
  3. Setup SimpleCov to monitor test coverage along the way
  4. Setup Hound CI
  5. Create a Rakefile

Special Notes

This project will require you to be running version 2.3.x of Ruby. This will get you used to working in an older version of Ruby and you will learn how to work with different versions of Rubies using rbenv.

Documentation for rbenv can be found here

Spec Harness

This project will be assessed with the help of a spec harness. The file includes instructions for setup and usage. Note that the spec harness is not a replacement for your own test suite.

Spec harness here

Key Concepts

From a technical perspective, this project will emphasize:

  • File I/O
  • Database Operations (CRUD)
  • Encapsulating Responsibilities
  • Light data / analytics

Project Iterations and Base Expectations

Because the requirements for this project are lengthy and complex, we’ve broken them into Iterations in their own files. Your project must implement iterations 0 through 3 and either 4 or 5.

Evaluation Rubric

Your project will be assessed using this rubric