Microservices with Clojure
上QQ阅读APP看书,第一时间看更新

Users and entities

The first step in writing user stories for the Helping Hands application is to understand the users and entities of the system. Primarily, there are two users of the system—Service Consumers and Service Providers, as shown in the following diagram. Service Consumers subscribe to one or more services provided by the Service Providers. The core entity of the application is the service. A service is an intangible, temporal, and limited asset that providers own and provide to the consumers on-demand at a price.

Service Providers register one or more services with the system that can be subscribed to by the consumers. All services are registered with available time slots and the duration for which they can be offered. Each service duration and time slot has an associated price that the Service Consumer has to pay to make use of the service. Service Providers are also responsible for maintaining the availability status of the services with the system. Service Consumers can search for services available from a set of providers and can pick a provider of their choice. Once chosen, the Service Consumer can schedule a service from the Service Provider based on availability.