Professional Documents
Culture Documents
Case Study Grocecoll
Case Study Grocecoll
Case Study Grocecoll
Grocecoll
• Grocery collection service
• Available world-wide
Grocecoll
• Employees have dedicated tablets
displaying the list
Functional Non-Functional
What the system should do What the system should deal
with
1. Web Based
2. Tablets receive list to be collected
3. Employees can mark items as collected
or unavailable
4. When collection is done, the list should
be transferred to payment engine
5. Offline support is a must
NFR - What We Ask
• 1 List = 500KB
Functional Non-Functional
What the system should do What the system should deal
with
1. Web Based
1. 200 Concurrent users
2. Tablets receive list to be collected
2. 10,000 lists/day
3. Employees can mark items as collected
3. Yearly volume: 2TB
or unavailable
4. High SLA
4. When collection is done, the list should
5. Offline support
be transferred to payment engine
5. Offline support is a must
Components
Based on requirements:
Displays list,
Receives lists marks items,
1. Employees have tablets from the offline support
queue and
2. Offline support
stores them
3. Retrieve lists Retrieves list
to be handled.
4. Mark Items Lists Lists Lists Updates and
Queue Receiver Service exports items
5. Export list to payment engine and lists
Data to be
exported to
the payment
engine
Messaging
Based on requirements:
Displays list,
Receives lists marks items,
1. Employees have tablets from the offline support
queue and
2. Offline support
stores them
3. Retrieve lists REST Retrieves list
to be handled.
4. Mark Items Lists Lists Lists Updates and
Queue Receiver Service exports items
5. Export list to payment engine and lists
Queue
Data to be
exported to
the payment
engine
Components
Displays list,
Receives lists marks items,
from the offline support
queue and
stores them
Retrieves list
to be handled.
Lists Lists Lists Updates and
Queue Receiver Service exports items
and lists
Data to be
exported to
the payment
engine
Lists Receiver
What it does:
• Mobile App
• Console
• Service
• Desktop App
Technology Stack
Considerations:
Queue Receiver
Business Logic
Data Access
Data Store
Lists Receiver Redundancy
Consumer Group
Displays list,
Receives lists marks items,
from the offline support
queue and
stores them
Retrieves list
to be handled.
Lists Lists Lists Updates and
Queue Receiver Service exports items
and lists
Data to be
exported to
the payment
engine
Lists Service
What it does:
• Mobile App
• Console
• Service
• Desktop App
Technology Stack
Architecture
Service Interface
Business Logic
Data Access
Data Store
API
Load Balancer
Displays list,
Receives lists marks items,
from the offline support
queue and
stores them
Retrieves list
to be handled.
Lists Lists Lists Updates and
Queue Receiver Service exports items
and lists
Data to be
exported to
the payment
engine
Front End
What it does:
• Mobile App
• Console
• Service
• Desktop App
Technology Stack
Displays list,
Receives lists marks items,
from the offline support
queue and
stores them
Retrieves list
to be handled.
Lists Lists Lists Updates and
Queue Receiver Service exports items
and lists
Data to be
exported to
the payment
engine
Export Lists Data
What it does:
system
- Basically – a queue
Export Lists Data- Questions
Displays list,
Receives lists marks items,
from the offline support
queue and
stores them
Retrieves list
to be handled.
Lists Lists Lists Updates and
Queue Receiver Service exports items
and lists
Data to be
exported to
the payment
engine
Components
Displays list,
Receives lists marks items,
from the offline support
queue and
stores them
Retrieves list
to be handled.
Lists Lists Lists Updates and
Queue Receiver Service exports items
and lists
Data to be
exported to
the payment
engine
Logic Diagram
React Native
Whatever is
used by the
MySQL company
Physical Diagram
N/A
Consumer
Group LB
Lists Lists Lists Product’s
Lists Lists High
Queue Receiver
Lists Service
Lists
Receiver Service Availability
Receiver Service