bacheca/README.md

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
```