6f8c86d815
Otherwise it's too noisy |
||
---|---|---|
sql | ||
src | ||
.env.example | ||
.gitignore | ||
Cargo.lock | ||
Cargo.toml | ||
Cross.toml | ||
README.md |
README.md
nederlandskie
A Bluesky feed generator written in Rust.
The specific algorithm indexes and serves posts written in Russian language, by people living in Netherlands.
Not fully complete yet, see roadmap.
Roadmap
- Read stream of posts from Bluesky
- Store posts in the database
- Store user profiles in the database
- Detect the country of residence from profile information
- Keep subscription state to not lose messages
- Serve the feed
- Handle deleting of posts
- Handle errors in the web service gracefully
- Handle missing profiles in the profile classifier
- Add a way to mark a profile as being from a certain country manually
- Handle reconnecting to websocket somehow
- Publish the feed
Configuration
-
Copy
.env.example
into.env
and set up the environment variables within:PUBLISHER_BLUESKY_HANDLE
to your Bluesky handlePUBLISHER_BLUESKY_PASSWORD
to Bluesky app password that you created in settingsCHAT_GPT_API_KEY
for your ChatGPT keyDATABASE_URL
for PostgreSQL credentialsFEED_GENERATOR_HOSTNAME
to the hostname of where you intend to host the feed
-
Determine your own DID and put it in
PUBLISHER_DID
env variable in.env
:cargo run --bin who_am_i
Running
Populate and serve the feed
cargo run
Determine your own did for publishing
cargo run --bin who_am_i
Publish the feed
cargo run --bin publish_feed -- --help