diff --git a/docs/architecture_diagram.drawio.png b/docs/architecture_diagram.drawio.png new file mode 100644 index 0000000..c8d61a1 Binary files /dev/null and b/docs/architecture_diagram.drawio.png differ diff --git a/readme.md b/readme.md new file mode 100644 index 0000000..6b8533b --- /dev/null +++ b/readme.md @@ -0,0 +1,46 @@ +# BlueSky Bot + +A simple project that scrapes websites and publishes tweets on [BlueSky](https://bsky.app/). + +**⚠️ Work In Progress ⚠️** + + +## Architecture + +![architecture diagram](./docs/architecture_diagram.drawio.png) + +The architecture is composed of the following elements: + +1. The Scrapper + +It scrapes data from one or more websites and publishes a JSON on **Redis Streams**. + +It is configured via CLI arguments + +```bash +Usage: scrapper [OPTIONS] --redis-connection-string --redis-stream-name + +Options: + -r, --redis-connection-string + Redis host + -t, --redis-stream-name + Redis stream name + -s, --scrape-interval-minutes + The scraping interval in minutes [default: 60] + -h, --help + Print help + -V, --version + Print version +``` + +2. Redis + +Redis is a key-value store with lots of features. It has been chosen to keep +things simple and due to its powerful features and flexibility[1]. + +3. BlueSky Bot + +The BlueSky bot reads data from Redis Streams and publishes it to BlueSky. + +[1] - https://redis.io/about/ +