-
Notifications
You must be signed in to change notification settings - Fork 0
/
block_model.txt
61 lines (58 loc) · 5.57 KB
/
block_model.txt
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
61
User Request
|
↓
+---------------------------------------------------------------------------+
| (HTTP request) [REST API with Flask] |
+---------------------------------------------------------------------------+
| | ↑ ↑
| | | | File Download [Return Report or CSV File]
| | | +----------------------------+
↓ | | | /download/<report_id> |
+----------------------------+ | | Running +----------------------------+
| /trigger_report Endpoint | | | ↑ ↑
+----------------------------+ | | | Complete |
| ↓ | | |
| +---------------------------------+ |
↓ | /get_report Endpoint | |
+-------------------------+ +---------------------------------+ |
| Generate Report U_id | ↑ |
+-------------------------+ | |
↓ | |
+---------------------------------+ |
| report_status.json | |
+---------------------------------+ |
| +---------------------------------+
| | <U_id>.csv |
| trigger +---------------------------------+
| ↑
↓ store_report |
+---------------------------------------------------------------+ |
| Data Storage and Manipulation (CRUD) | |
+---------------------------------------------------------------+ |
| logic for computing the hours overlap and uptime/downtime | |
| psql dealing with Time typecasting | |
| User Data Management and Storage | |
| Data preprocessing | |
| df -> Database | |
+---------------------------------------------------------------+ |
↑ | <--(psycopg2)-- [Preprocessing] |
| | |
timezone_str store_report |
menu_hours | |
store_status | |
| ↓ |
| |
+--------------------------+
[Preprocessing]---(SQLAlchemy ORM)--->[PostgreSQL Database]----------------------------------| df.to_csv |
+--------------------------+
-> Frontend NaT
-> Backend server takes care of
- User DATA management
- Data storage
- CSV -> Database
- Data manipulation(CRUD)
- logic for computing the hours overlap and uptime/downtime
- psql dealing with Time typecasting
- Data preprocessing
- File download
-> Flask API is used to manage users, files and data manipulation.