|
The figure above is the flow chart of our system. Every time when the flow rate or table availability changes, the data will be pushed into our database on AWS DynamoDB. When a user request for a recommendation, our server will send the generated recommendation to the user. Table availability and head count data will also be displayed on the mobile end.
|
|
|
This figure shows the overall module interactions. First, diner passing data and table vacancy data is fed to Raspberry Pi from ToF sensors and PIR sensors separately; then, the Raspberry Pi uploads the entry count and table vacancy to DynamoDB database on AWS platform; next, AWS based EC2 server fulfills the headcount aggregation and dish grading calculation; finally, the Android App fetches requested data and provide relative statistics with recommendation to users.
|
|
|
The above figure presents software system which consists three main entities, the App should establish HTTP connections with the web server, while receiving requests from the App, the server queries or writes into our DynamoDB depending on what type of request the App sends. When the App is requesting for recommendation, the server would call the recommendation algorithm and send the result back to the App.
The App is the front-end and the server is the core of our software system. We use Android Studio to develop our mobile App and Flask to build our web server, the server is hosted on AWS EC2. |
|