-
Notifications
You must be signed in to change notification settings - Fork 0
/
ExampleAppRequirements
60 lines (43 loc) · 1.34 KB
/
ExampleAppRequirements
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
Example app requirements
------------------------
Story: Application reports invalid orders.
A JSON file containing order data must be validated using the following rules:
- All orders must have the following fields:
Customer
Customer email
Customer first name
Customer last name
Customer address
line 1
line 2
city
state
zip
Order date
Inventory item SKU# (String)
Quantity
Delivery date
- Fields must be syntactically valid for their appropriate types (listed above where not obvious)
- Address line 2 is optional
- Quantity must be greater than zero
- Email, state, SKU and zip must be syntactically valid
- Duplicate orders should be coalesced (including summing quantities)
- Sku and customer email must match data from stores
Story: Application stores valid orders
All valid orders should be persisted to the database.
Story: Application triggers order processing for valid orders.
All valid orders should be sent to the processor.
Story: Application sends response message.
Story: Customer submits file of orders
The customer uploads a file containing order for processing.
Story: Produce a report with totals / results
Story: UnparseableJSON
Coding tasks:
0. Read the file
1. Parse the JSON
2. Validate each row and
3. Process valid rows
4. Report invalid rows
3. Summarize
4. Accept via HTTP
5. Respond via HTTP