BigBrother was the final project for our FIT5140 unit. BigBrother is an iOS application for an IoT surveillence system with motion detection and facial recognition.
- programatically change views depending on different situtations
- using user defaults to persist values and states like settings
- using IBInspectables to expose different attributes of UI elements for setting design properties
- using simple and chaining core animations for better user experience
- making code more change friendly using extensions, subclassing, defining constants etc
The onboarding screen is only shown when the user first installs the app. The intro gives the user some details about the functionality of the app. Then it gives the option to scan the bar code that is attached on the box to register the device. Once the device is registered, the user will never see this screen again unless they reinstall the app. The device ID is stored using User Defaults to make it persistent. Picture of a sample barcode is given below.
Once the device is registered, the user is taken to the login screen where they can log in using their credentials. if they does not have an account they can register for a new account. Used Email/Password authentication in Firebase for this feature
Once the user has logged in, They are taken to the Home screen from where they have access to all the functionality of the app. Under recent visitor, it will list the last 5 faces detected by the system. When they click on view all, they can go though all the entires. Clicking on any entry will take them to the detail screen. The user can also use the bottom animated menu to access the live stream and also gives them the option to log out
If the face detected is unknown, the user will get the option to add that face to the collection
The user just have to enter a valid name to add the new face to the collection.
Once the face it added, the system would recognize the face the next time it detects that face. The facial recognition is done using Amazon Rekognition.
- The color palette for this project was inspired by https://dribbble.com/shots/7867164-Vortex-a-new-way-of-messaging
- The icons and logo for this project are taken from icon8 https://icons8.com/
- Backend using Firebase: https://firebase.google.com/
- Facial Recognition using Amazon Rekognition: https://aws.amazon.com/rekognition/