Smart Home Security Web App

The first part of our project is the web application part. We use Express.js which is a Node.js server framework to build a web app. This app allows the users to subscribe to the facial recognition event with their email address. The users also need to provide their name and password. All of these information will be stored in the MySQL database. The password is encrypted with bcrypt algorithm. After a successful subscription, the server will send a confirmation email to the user. Then, the users should upload photo which will be used by the facial recognition part later. We will record each facial recognition event and store the record into the database. The user can log into the app to view their recent facial recognition records with date, recognition result, confidence value, and snapshots.

For a real life product, each Wi-Fi camera should be bundled with a user group. The user group can be either a family or colleagues in an office. However, because we only have one Wi-Fi camera, all users will be in the same group. They will share the recognition records.

The basic structure of the web application is shown below:

Fig.1. Web App Structure

For the backend, we create a server to deal with http requests from users, communicate with database, and render views. For the frond end, we have sign up page, sign in page, and main page. The snapshots of these pages are shown as follow:

Fig.2. Sign Up Page

Fig.3. Main Page

There is an example facial recognition record in the main page. In this example, the person in front of the camera was recognized as Jianling with a confidence value of 82. His snapshot is also shown in the page.