Headless server/desktop app
Umbrella ticket for sponsor 1, objective 5.
Outstanding Tasks:
- add command line options for things like controlling log verbosity, port to bind to, etc.
- research better input validation options
- unit tests for all controllers
- REST API authentication with bearer token (maybe optional, or only when not bound to localhost?)
- Websocket API authentication (problematic since JavaScript can't control headers in request)
- simple API documentation in README.md
- add support for adding contacts (blocked by missing support in core)