Only authorized users can use the app, because the access is unique for each user. To authorize you need a mobile phone – you must enter the confirmation code sent by SMS to the specified number.
Only one intercom can be added to the app, so the app can’t become a unique chip for all doors. To add an intercom, you must enter its individual number.
If the intercom is added, the app immediately sends an access code to the intercom reader via NFC or Bluetooth when it’s launched.
Adding an intercom and receiving an access code to it is possible only for those users who have got a paid subscription. After the subscription is expired, the functionality of the intercom key is blocked.
The data transfer between the reader and the device is encrypted to prevent the key from being intercepted and used on another device.
We have also developed the function “free hands” – the door will be opened automatically when the user reaches the adjusted distance. Users can set the distance in settings, and the key will work automatically via NFC or Bluetooth, so there is no need to take the phone in hand and bring it to the reader.
We consider the idea quite interesting and useful both for use and implementation. During the development process, we worked on various solutions, including interaction with NFC and Bluetooth. As result, you can not to take keys always with you, just get the phone and bring it to the reader.
Kotlin, SwiftUI, NFC, Bluetooth, Firebase