diff --git a/README.md b/README.md index b74a141..8e077c1 100644 --- a/README.md +++ b/README.md @@ -7,21 +7,54 @@ with a cleaner *backend* (not frontend, so far; I am not a frontend guy and it s Primary differences: - - [X] No directory watch source, for now + - [x] Backend written as if Go is actually a typed language + + I never would have started this project if existing projects were this way, as modifying them would have been far easier. + + - [x] No directory watch source, for now - This is not a feature I need personally, but would be simple to implement as another [source](pkg/sources/). + This is not a feature I need personally, but would be simple to implement as another [source](pkg/sources/). - [x] Only supports Postgres DB right now. May add SQLite someday. + + Most all database access is abstracted using a repository architecture. The calls table is also partitioned, with configurable intervals and retention. + - [x] Filter calls by duration in search + + This feature was a major impetus for even starting the project. + - [x] Both REST and WebSocket APIs + + REST is used for the admin interface, and WebSockets/protobuf are used for listener apps, including *Calls* (both Flutter and terminal versions). + - [x] Uses protobuf instead of JSON for the WebSocket API (no slices of integers for call audio!) + + Another thing that originally spawned the project. + - [x] Talkgroup activity alerting + + We use [go-trending](https://github.com/andygrunwald/go-trending) to implement this. + - [x] "Native" flutter client (Calls) for Android/iOS/macOS/Linux/Windows (in progress) + + This client, as of this writing, works for listening linearly only. More functionality to come. Currently available [here](https://github.com/amigan/calls). + - [x] RadioReference talkgroup import, SDRtrunk talkgroup playlist export + + Just copy and paste from RadioReference. You can also have your talkgroup labels in SDRtrunk! + - [x] Incidents functionality (group past calls together and retain them) - - [x] No premiumization nags + + Keep track of interesting past calls and link them to your friends. Calls linked to an incident are even swept away before retention pruning is done! + + - [x] No premiumization nags or advertising of any kind + + Another thing that drove me to start this project. It's either open source, or it isn't, folks. + - [x] 3-clause BSD license + But that doesn't mean I don't want your improvements so that I may incorporate them! + ## Note If this message is still here, the database schema *initial migration* and protobuf definitions are **still subject to change**.