An RSS reader webapp
.sqlx | ||
migrations | ||
src | ||
static | ||
templates | ||
.gitignore | ||
Cargo.lock | ||
Cargo.toml | ||
flake.lock | ||
flake.nix | ||
justfile | ||
README.md | ||
Rocket.toml | ||
TODO.md |
RSS Reader
A modern web-based RSS feed reader built with Rust and Rocket. Features a clean, dark-themed interface that allows you to:
- Add and manage RSS/Atom feeds
- View feed entries with titles, summaries, and timestamps
- Poll feeds for updates
- Organize feeds with categories
- Multi-user support with admin capabilities
Installation
Using Nix
This project is packaged with Nix flakes. To install and run it:
-
Make sure you have Nix installed with flakes enabled. Add this to your
/etc/nix/nix.conf
if you haven't already:experimental-features = nix-command flakes
-
Install the package:
nix profile install git+https://code.everydayimshuflin.com/greg/rss-reader
Or run it directly:
# Run with a persistent database nix run git+https://code.everydayimshuflin.com/greg/rss-reader -- -d /path/to/database.sqlite # Or try it out in demo mode (uses in-memory database) nix run git+https://code.everydayimshuflin.com/greg/rss-reader -- --demo
Development
To set up a development environment:
-
Clone the repository:
git clone https://code.everydayimshuflin.com/greg/rss-reader.git cd rss-reader
-
Enter the development shell:
nix develop
-
Run the application:
# Run with a persistent database cargo run -- -d rss-reader.db # Or try it out in demo mode (uses in-memory database) cargo run -- --demo
The application will be available at http://localhost:8000
.
Demo Mode
When running in demo mode (using the --demo
flag), the application will:
- Use an in-memory SQLite database that is cleared when the application stops
- Create two pre-configured users:
- Admin user: username
admin
, passwordadmin
- Regular user: username
demo
, passworddemo
- Admin user: username