| 
				
					
						
							 | 
			||
|---|---|---|
| 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.exampleinto.envand set up the environment variables within:PUBLISHER_BLUESKY_HANDLEto your Bluesky handlePUBLISHER_BLUESKY_PASSWORDto Bluesky app password that you created in settingsCHAT_GPT_API_KEYfor your ChatGPT keyDATABASE_URLfor PostgreSQL credentialsFEED_GENERATOR_HOSTNAMEto the hostname of where you intend to host the feed
 - 
Determine your own DID and put it in
PUBLISHER_DIDenv 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