29 lines
1.6 KiB
Markdown
29 lines
1.6 KiB
Markdown
# la puerta de mi casa
|
|
|
|
A ridiculously elaborate rubegoldbergian contraption to exchange my guests' biometric data for my front door going _bzzzz_, built with go, css, html and javascript.
|
|
|
|
This project is:
|
|
|
|
- **highly insecure**: you should not run this at home,
|
|
- **very alpha**: to put it mildly,
|
|
- **poorly tested** by my guests and myself, so barely—if at all, and
|
|
- **truly magical** to see in action, when it does work.
|
|
|
|
## Web App
|
|
|
|
This is what my guests see. It's basically a login page where they enter credentials, and then a big button to open the door. My guests are required to authenticate with a [_passkeys_](https://passkey.org/) before opening the door, usually backed by a yubikey, TouchID or whatever android does.
|
|
|
|
A very simple admin page allows me to manage guests and see the entry log. Built with pochjs (plain-old css, html and js).
|
|
|
|
## API
|
|
|
|
The API runs [on my homelab](https://github.com/unRob/nidito/blob/main/services/puerta/puerta.nomad), serves the web app and interacts with my front door's buzzer. It's built with go and backed by SQLite.
|
|
|
|
### Adapters
|
|
|
|
Since the buzzer electrical setup is still not something i completely understand, I went around the issue by connecting the buzzer's power supply to a "smart" plug. Originally built it to control a [wemo mini smart plug](https://www.belkin.com/support-article/?articleNum=226110), but have since switched into using a [hue one](https://www.philips-hue.com/en-us/p/hue-smart-plug/046677552343) for no good reason other than the wemo's API is annoying.
|
|
|
|
## CLI
|
|
|
|
There's a small CLI tool to start the API, setup and test the Hue connection, and to add users (helpful during bootstrap).
|