Create basic requirement list
Core functionality
-
We should be able to deny access to a member without having access to their card -
We should be able to handle an arbitrary number of doors -
We should be able to handle access to equipment (laser, 3D printer) -
Programming a card for a new member should be easy
Security
- A database dump will not allow to craft new keys
- A database dump will not allow user impersonation
-
Physical access to the controller will not allow crafting new keys (buy may allow opening the door) -
Physical access to the external part (PN532 reader and button) will not allow opening the door
Robustness
- The system should work if internet is down
- The system should work if internal network is down
- The system should work if power is down (fallback to physical key or battery backup)