This Project is done for Embedded Systems course at Sharif University of Technology.
This project is a digital lock that gets a token from server and displays this token as QR-code. this code can be scanned by an application to authenticate the person trying to unlock the door.
In this project we use an android application witten by Flutter to scan a barcode which is displayed by Arduino and generated by our server. We then use the scanned code to send a request to server with phone's mac-address to authenticate the person trying to unlock the door. The code is generated everytime we push a button on Arduino and this code is valid for about 2 minutes. If we try to open the door with an out-of-date code we'll get a timeout error and the door won't open.