This represents the basic use cases that Mirada needs to implement in order to be useful.
- Log in as admin
- Create a user
- Create a topic
- Create a subscription
- Create a message
- Create a delivery
Log in as Admin
- The user connects to the system with a browser
- The system asks the user to log in
- The user supplies their credentials
- The system responds with the status page and gives the user a cookie
Create a User
- The user goes to the users section of the app
- The system presents the user with a menu of operations
- The user indicates create a user
- The system presents the user with the new user form
- The user completes the form and presents it to the system
- The system creates the new user
- The systems tells the other node about the new user
- The system receives acknowledgement from the other node about the new user
- The system reports success to the user
Create a Topic through the UI
- The user goes to the topics section of the app
- The system presents the user with the topics status screen
- The user indicates they want to create a new topic
- The system presents the user with the new topic form
- The user completes the form and presents it to the system
- The system create the new topic
- The system tells the other nodes about the new topic
- The system receives acknowledgement about the new topic from the other nodes
- The system reports success to the user
Create a Subscription by Sending a POST
- The client posts a new subscription
- The system checks the client's session
- The client's session is valid
- The system checks for duplicated subscriptions
- The new subscription does not duplicate another topic
- The system creates the new subscription
- The system tells the other nodes about the new subscription
- The system receives acknowledgement about the new subscription from the other nodes
- The system reports success to the client
Create a Subscription through the UI
- The user goes to the subscriptions section of the app
- The system presents the user with the subsriptions status screen
- The user indicates they want to create a new subscription
- The system presents the user with the new subscription form
- The user completes the form and presents it to the system
- The system checks for duplicated subscriptions
- The new subscription does not duplicate another subscription
- The system creates the new subscription
- The system tells the other nodes about the new subscription
- The system receives acknowledgement about the new subscription from the other nodes
- The system reports success to the user
Create a new Event
- The client does an HTTP POST to a topic
- The system checks the client's session
- The client's session is valid.
- The system records the data of the client's POST to a new event
- The system tells the other nodes about the new event.
- The system writes the new Event to the persistent store
- The system reports success to the client
Deliver an Event
- A new Event comes in
- The system checks to see what subscriptions are interested
- At least one subscription is interested
- The system hands the Event off to the Subscription for delivery.
- The Subscription notes the Event to persistent sore
- The Subscription delivers the Event to the subscriber.
- The system creates a new Delivery object
- The system adds the Delivery to the subscription
- The Subscription starts writing the Delivery to the persistent store
- The system tells the other nodes about the Devlivery
No comments:
Post a Comment