---
# System prepended metadata

title: Proposal
tags: [Project Management]

---

# Proposal

###### tags: `Project Management`

A smart doorbell system consisting of a camera looking out the door, a door bolt, and a button.

## Market and Requirements

The product is targeted at security-conscious homeowners.

List of constraints imposed by this market:
- The accuracy for detection is high. 
- The speed of detection is fast.
- The app is easy to use. 
 

Project requirements:
- The user should be able to view a live video feed of the camera from the mobile app.
- The user should be able to bolt/unbolt the door remotely from the app.
- A person at the door should be able to hit a button to ring the doorbell, which will notify the owner via a push notification on the app.
- The camera detects faces in the image, and unlocks the door automatically if it recognizes someone that the owner has set as "trusted" on the app, and their phone is within bluetooth distance.

## High-Level 

* Web UI and/or phone app

> Your design must use the WiFi chip (RFS) in some creative cloud-based manner.

* Stream video through server to app.
* Store video on server which interfaces with app for later viewing.

For each design we need to write: 

1.Hardware architecture of the system, i.e. processor, memory, IO devices etc and their configurations.

2.Software functionality, i.e. a description of the major features of the system (from the users’ perspective) if you are familiar with UML try to model the software functionality as a "Use case diagram".

3.The look and feel of the application (GUI) prototype screen shots, mock-ups, etc.

4.Any major algorithmic processing required:  For example a high-level software design showing the major modules/sub-modules/software component/libraries and significant software functions and how they interact. Again UML package and deployment diagrams might be useful for modeling this.

5.Any major data structures:  try to identify the major data structures needed for the implementation and where they will be stored (on-chip vs. off-chip).

### Design 1
* 


### Design 2

* Hardware button, take picture/video
* Compress image(s) in hardware
* Send images to backend for detection and verification.
* Let user in house if face detected, bluetooth is verified, and face is verified.
* If face not verified, ring doorbell and send push notification.

### Questions for TA

- Does the touchscreen interface refer to a separate thing, or the mobile app?
- Bluetooth OK just for "pairing"/setup.  eg. have the mobile app connect to the DE1 via bluetooth, and have it send some kind of token that it will use to talk to the backend server.


### Requirement Summary

* Use De1
* Phone/WebUI GUI
* Bluetooth pairing for proximity based access
* Wifi to inteface with server backend