module
Version:
v0.0.0-...-22d26e9
Opens a new window with list of versions in this module.
Published: Sep 25, 2025
License: Apache-2.0
Opens a new window with license information.
README
¶
goAggregator
A simple RSS aggregator. The gator CLI fetches and stores RSS posts and lets you browse them. Accounts are username-based.
Prerequisites
- Go 1.20+ installed and on PATH
- echo 'export PATH="$PATH:$(go env GOPATH)/bin"' >> ~/.bashrc && source ~/.bashrc
- PostgreSQL installed and running
Install
- Latest:
- go install github.com/BrightDN/goAggregator/cmd/gator@latest
- Specific version:
- go install github.com/BrightDN/goAggregator/cmd/gator@v0.1.0
gator reads config from ~/.gatorconfig.json.
Create it:
cat > ~/.gatorconfig.json <<'JSON'
{
"db_url": "postgres://user:pass@localhost:5432/gator?sslmode=disable",
"current_user_name": "default"
}
JSON
Fields:
- db_url: PostgreSQL connection string
- current_user_name: your gator username
Database setup (Goose)
This project uses Goose for schema migrations.
If you prefer manual setup, apply the SQL files in sql/schema/ in order.
Usage
Common commands:
- Login user:
- Create user:
- Add a feed:
- gator addfeed <feed_name> <feed_url>
- Follow a feed:
- Aggregate (fetch):
- Browse posts:
- gator browse <OPTIONAL: limit> (Defaults to 2)
Development
- Build locally:
- go build -o gator ./cmd/gator
- ./gator help
Notes
- Binaries install to $GOBIN (or $GOPATH)/bin. Ensure it’s on PATH.
- Config file: ~/.gatorconfig.json (edit directly or via CLI that updates CurrentUserName).
- Repo: https://github.com/BrightDN/goAggregator
Directories
¶
cmd
|
|
|
|
|
internal
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Click to show internal directories.
Click to hide internal directories.