Security system prototype for the elder. Access to the house is granted through face recognition and several sensors monitor house conditions. All information is displayed through a web aplication.
- Authentication: Users register or login using GoogleOAuth
- Dashboard: Main page to see sensor values and last person detected at the door
- Logs: Logs from people who have been detected, displaying time, image and name if recognized
- Devices: Available devices connected to the same network
- Access: Subpage to add or edit people who are authorized of entering the house
An API was developed using Flask and face-recognition to recieve images and return if detected, the name of the person recognized. The API was hosted on an AWS EC2 instance, using Docker. The detected image was decoded from base64 and the other images were requested from the sent URLs.
For instant communication, AWS Websocket API Gateway was used, establishing several routes and connections to the backend.
![Infrastructure](https://private-user-images.githubusercontent.com/109093534/287604028-340b8216-f14c-440c-bfd7-1e201a357577.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQ5ODU5MTEsIm5iZiI6MTcyNDk4NTYxMSwicGF0aCI6Ii8xMDkwOTM1MzQvMjg3NjA0MDI4LTM0MGI4MjE2LWYxNGMtNDQwYy1iZmQ3LTFlMjAxYTM1NzU3Ny5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwODMwJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDgzMFQwMjQwMTFaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT04YTFmYjA5ZjIwNWUyZTNkMmRjNGIwN2ZjZjAxODVjNzczNjE4MzdmNDM5NDJiYWNlMmFkNjRiYjY3ZjM0YmJlJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.yUPp2p8HRYh96flFzmyMiYfA3HvWSdymko7okXu_NpE)
Web App | Face Recognition API | Backend |
---|---|---|
Typescript | AWS EC2 | AWS Websocket API Gateway |
React | AWS ELB | Nodejs |
Nextjs | Docker | Planet Scale (SQL) |
Prisma | Python | MQTT |
Tailwind | Flask | Node-red |
Cloudinary | Face-recognition | Google OAuth |
tRPC |
Database may be down after some time, auth won't work in such case
Name | Github |
---|---|
Roberto Gómez | |
Diego Govea | |
Juan Félix | |
Claudia Tobias | |
Alejandra Coeto | @Ale-Coeto |