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