Skip to content

jsbaartz/gator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Gator – RSS Feed Aggregator CLI

Gator is a command-line RSS feed aggregator written in Go. It lets you register users, add RSS feeds, follow/unfollow them, run a background scraper, and browse collected posts — all backed by PostgreSQL.

Requirements

You must have these installed:

Go 1.22+

PostgreSQL 14+

Verify:

go version psql --version

Installation

Go programs are statically compiled binaries. Once installed, you can run gator without Go installed.

Install directly from GitHub: go install github.com/jsbaartz/gator@latest

After install:

gator

Database Setup

Create a database:

sudo -u postgres psql CREATE DATABASE gator;

Create an app user:

CREATE USER gator WITH PASSWORD 'gatorpass'; GRANT ALL PRIVILEGES ON DATABASE gator TO gator;

Exit psql:

\q

Config File

Gator uses a simple config file to store your database connection and current user.

Create:

~/.gatorconfig.json

With:

{ "db_url": "postgres://gator:gatorpass@localhost:5432/gator?sslmode=disable", "current_user_name": "" }

Running Migrations

From the project root:

cd sql/schema goose postgres "postgres://gator:gatorpass@localhost:5432/gator?sslmode=disable" up

Usage Register a user gator register lane

Login gator login lane

Add feeds gator addfeed "Hacker News" "https://news.ycombinator.com/rss" gator addfeed "Boot.dev Blog" "https://blog.boot.dev/index.xml"

Follow / Unfollow gator follow https://news.ycombinator.com/rss gator unfollow https://news.ycombinator.com/rss

See followed feeds gator following

Run background scraper gator agg 30s

(Leave running in another terminal)

Browse collected posts gator browse gator browse 10

Build Locally git clone https://github.com/jsbaartz/gator cd gator go build ./gator

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages