34 lines
1.3 KiB
Markdown
34 lines
1.3 KiB
Markdown
# bacheca
|
|
|
|
## What is bacheca?
|
|
|
|
RSS/Atom feed generator with a simple REST API (and hopefully gRPC)
|
|
|
|
The service is written to be able to work both as a RSS/Atom feed server and as a static generator for one.
|
|
|
|
## How does it work?
|
|
|
|
In the `cmd` folder, you'll find 3 versions of bacheca:
|
|
|
|
- `bacheca-moa` works as a microservice in a [Moa](https://git.fromouter.space/Artificiale/moa) environment
|
|
- `bacheca-server` works as a stand-alone server
|
|
- `bacheca-static` generates a static XML file
|
|
|
|
### Adding/removing items
|
|
|
|
The server version will use REST APIs for [CRUD](https://en.wikipedia.org/wiki/Create,_read,_update_and_delete) operations. [AtomPub](https://tools.ietf.org/html/rfc5023) support would be nice but has to be investigated how well it works on a server mainly doing RSS.
|
|
|
|
Another option, especially when using the static CLI, is to just make your own tools to modify the storage backend directly.
|
|
|
|
### Storage backends
|
|
|
|
Bacheca needs a backend to store its data, currently the main plan is to support at least 1 file-based backend (`file`) and a KV-based backend (`bolt`). If you want to implement and contribute your own storage backend (like PostgreSQL) feel free to!
|
|
|
|
## Things to note
|
|
|
|
### Regenerate protobuf file
|
|
|
|
```sh
|
|
protoc --go_out=plugins=grpc:. bacheca.proto
|
|
```
|