# 🚀 Project Plan
Last udated 29 July 2022
## 🎯 Project Introduction
### Project goals
### Background
#### User Story:
John is a house host, and there are four tenants lives in his house. They often complain to John about the even utility bill splitting policy. Since they have different habits, their usages of Wifi, electricity and gas are all different.
Lisa shares her two bedroom apartment with her friend Jessica. Lisa travels a lot and is often away from home, but currently she needs to split the bill evenly with her roommate Jessica, who works from home.
具体用法:
John as the landlord, he downloaded the app, set up the camera for the first time use, uploaded a photo identity picture, and marked up the areas if necessary such as bathroom, kitchen and bedroom etc..
B and C, as tenants, they opened the app to see how much they have spent this month on each utility category such as electricity and water, and can choose to pay by adding credit card information.
When there is a new tenant, landlord John just needs to add the new tenant into the group. After the new tenant successfully installs the app, completes the registration and scans their face, the utility costs will be calculated and shared by all the current tenants.
#### Requirements:
## System level overview
A complete system consisting of three components, cameras, server and app deployed on Android phone. The room will be recorded by cameras, and then the video stream will be sent to the server. The face recognition program deployed on the server will identify the occupancy of utilities based on the video stream and store the details in the database. In the bill splitting stage, the system will split the bill according to each tenant's occupancy of utilities. Personal bills will be displayed on the mobile app.
## Tools
1. Face recognition Python library
2. Flask API
3. Firebase
4. Flutter
5. Android Studio
6. OpenCV
7. AWS EC2 & AWS S3
## Role:
1. Frontend Mobile App (Flutter)
2. Backend for Image Processing/API (Python/Flask)
3. Backend for Cloud/Hardware (AWS EC2/S3)
## 🗼 Scope
### Must have:
- Android App for host & tenants
-- Sign up&Login
-- Add/edit/delete profiles
-- Dashboard to check usage
-- Scan/input bill details
-- Algorithm for bill splitting
- Android App for phones that used as cameras
-- continuous updates tenants status
- API deployed on cloud for face recognition
- Bluetooth device detection
- Database deployment
-- Firebase
### Nice to have:
- Authorization for certain utilities
- Utility bill scan
- Backup system for offline mode
### Not in scope:
## 🚩 Milestones and deadlines
<!---
## 📆 Timeline
| Due Date | Week | Work | Finished? |
| -------- | ---- | -------- | :---------:|
| 29/Jul/2022 | Week 1 Wiki Update | Start research the topic and set up environment | ✅ |
| 05/Aug/2022 | Week 2 Wiki Update | Reading papers and prepare topic presentation | |
| 12/Aug/2022 | Week 3 Wiki Update | Frontend Login+Signup Page, Basic Facial Recgonition | |
| 19/Aug/2022 | Week 4 Wiki Update | User Profile Page, Hardware and Camera settings | |
| 26/Aug/2022 | Week 5 Wiki Update | HomePage for Tenants, | |
| 02/Sep/2022 | Week 6 Wiki Update | HomePage for Hosts, | |
| 29/Jul/2022 | Week 7 Wiki Update | early demo | |
| 05/Aug/2022 | Week 8 Wiki Update | P2 | |
| 12/Aug/2022 | Week 9 Wiki Update | P2 | |
| 19/Aug/2022 | Week 10 Wiki Update | P2 | |
| 26/Aug/2022 | Week 11 Wiki Update | P2 | |
| 02/Sep/2022 | Week 12 Wiki Update | P2 | |
| 02/Sep/2022 | Week 13 Wiki Update | P2 | |
-->