Console
Roles
Admin
- Has access to all the activities and the ability to remove/create users
User
- Should only have the ability to:
- Modify button sets (each organization will want their own button sets)
Activities
Authentication (Login)
- Uses certificate + yubikey + password
Account Creation
Modify Tile Set to Include His Tile Set
Authenticate Responder Devices
- Responder sends a CSR to the web server and receives ID of CSR
- Admin verifies certificate in the console (CSR gets signed)
- Responder sends ID of CSR to the web server and receives signed certificate and uses that to connect with server
Revoke Responder Certificate
- Each certificate should have an organization it is tied to and have an ID/serial number
- Admin would be able to revoke certificates with the organization name/ID (batch) or revoke it by ID/serial number of the certificate (single)
Modify Button Set to Include His Button Set
- Admin logs into console
- Admin selects to modify button set
- Console displays form to modify button set
- Form requires admin to provide organization ID and name, and option to modify buttons
- Admin can choose to add/modify/delete buttons at the same time of modifying button set
- Saving button set will make clients within that organization (checked through client certificate) fetch latest button set
Use Statistics/Reports
- Should compile reports in random intervals to not stress server at certain times of the month
- Should probably be minimum weekly reports (must at least be 7 days since last compilation of reports)
Server
Protocol
Database
- Uses PostgreSQL with PostGIS extension
Tile Sets
Button Sets
Security
Certificates
- Has own SSL certificate (same as web server SSL certificate?)
- Verifies responder clients' certificates. Responder must have validated device beforehand in the console before trying to connect to the server
Responder
Set Up
Usage
Motorist
Distribution
Play Store
Set Up
Settings