demo
Switch branches/tags
Nothing to show
Clone or download
unknown
unknown test
Latest commit e40c8c0 Sep 5, 2013

README.md

This is the demo application used in my ServiceStack talk at Chicago Code Camp. A running version should be available at ccdemo.apphb.com

Scenario: Think of it like a Starbucks. Orders are entered by a user (or taken by a cashier). A fulfiller (barista) starts processing/fulfilling the order. The user can watch the status of their order by watching a queue. Using ServiceStack I want to try to create 3 separate systems (Ordering/Fulfilling/Customer Queue) that only know about each via their API.

Notes/Examples:

Additional softwares used:

  • MVC 4 - not doing much. Views pull data via AngularJS.
  • ServiceStack (hosted at /api)
  • SQLite - persistence for Orders/Fulfillments
  • AngularJS - handling all the View/UI stuff
  • Redis - Cache, handling Pub/Sub and holding data for Orders Queue
  • SignalR - realtime refreshing of View grid data

Ordering System Concept:

  • Any user can create an Order
  • Orders get written to the database and displayed in the View
  • Orders are not editable (currently)
  • When an Order is placed a 'NewOrder' message is published

Ordering

Fulfillment System Concept:

  • A 'Fulfiller' must log in.
  • Fulfillments are created by 'listening' for 'NewOrder' message
  • Once logged in a Fulfiller can view Orders that have not been fulfilled
  • When a fulfillment is updated a 'UpdateFulfillment' message is published

Fulfillment

Orders Queue Concept:

  • Shows all partial Order data (customer name, item, status) that have not been fulfilled

Queue

Issues:

  • If Redis isn't running Visual Studio seems to crash