/caps

Primary LanguageJavaScriptMIT LicenseMIT

CAPS

Author: Katy Roffe

Problem Domain

Phase 1: Begin the build of an application for a company called CAPS - The Code Academy Parcel Service. In this sprint, we’ll build out a system that emulates a real world supply chain. CAPS will simulate a delivery service where vendors (such a flower shops) will ship products using our delivery service and when our drivers deliver them, be notified that their customers received what they purchased.

Our goal is to setup a system of events and handlers, with the intent being to change out the eventing system as we go, but keeping the handlers themselves largely the same. The task of “delivering a package” doesn’t change (the handler), even if the mechanism for triggering that task (the event) does.

User Stories

  • As a vendor, I want to alert the system when I have a package to be picked up.
  • As a driver, I want to be notified when there is a package to be delivered.
  • As a driver, I want to alert the system when I have picked up a package and it is in transit.
  • As a driver, I want to alert the system when a package has been delivered.
  • As a vendor, I want to be notified when my package has been delivered.

Developer Stories

  • As a developer, I want to use industry standards for managing the state of each package.
  • As a developer, I want to create an event driven system so that I can write code that happens in response to events, in real time.

Phase 2: Change the underlying networking implementation of our CAPS system from using node events to using a library called socket.io so that we can do networked events. Socket.io manages the connection pool for us, makes broadcasting much easier to operate, and works well both on the terminal (between servers) and with web clients

UML