Skip to content

Andr-e-acute/GatorRssBootdev

Repository files navigation

🐊 Gator - RSS Aggregator CLI

A command-line RSS aggregator built with TypeScript, Postgres, and Drizzle ORM. This tool allows multiple users to subscribe to RSS feeds and browse posts directly in the terminal.

🚀 Prerequisites

Before running this project, ensure you have the following installed:

  • Node.js (v18 or higher)
  • PostgreSQL (running locally or via Docker)
  • npm

🛠️ Installation

  1. Clone the repository:

    git clone [https://github.com/YOUR_USERNAME/gator.git](https://github.com/YOUR_USERNAME/gator.git)
    cd gator
  2. Install dependencies:

    npm install
  3. Database Setup: Make sure your Postgres database is running. Update the connection string in your code or .env file (if applicable) to match your local setup.

    Run the migrations to create the tables:

    npx drizzle-kit migrate

⚙️ Configuration

The CLI uses a configuration file stored in your home directory (.gatorconfig.json) to track the currently logged-in user.

You do not need to create this manually; the register command handles it for you.

📖 Usage

Here are the available commands:

User Management

  • Register a new user:
    npm run start register <username>
  • Login:
    npm run start login <username>
  • List all users:
    npm run start users

Feed Management

  • Add a new RSS feed:
    npm run start addfeed <feed_name> <url>
  • List feeds you follow:
    npm run start following
  • Follow an existing feed:
    npm run start follow <url>
  • Unfollow a feed:
    npm run start unfollow <url>

Aggregation & Browsing

  • Start the aggregator (Long-running process):
    • <time_between_reqs>: e.g., 10s, 1m, 1h
    npm run start agg 1m
  • Browse saved posts:
    • Optional limit (default: 2)
    npm run start browse 5

Reset (Dev Only)

  • Wipe the database:
    npm run start reset

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors