more prose

This commit is contained in:
Daniel Ponte 2024-12-27 17:02:48 -05:00
parent 76d4c34236
commit bb06b097da

View file

@ -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**.