Skip to content
hasunBPublic

About

A robust and scalable RSS feed aggregator service built with Go.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

4 Commits

Folders and files

Repository files navigation

RSSAgg

A robust and scalable RSS feed aggregator service built with Go.

Go Version License: MIT


📌 Overview

RSSAgg is a backend service designed to aggregate, manage, and fetch posts from multiple RSS feeds. It provides a RESTful API to manage feeds, track user subscriptions, and periodically fetch posts from published RSS sources.


🚀 Features

  • Configuration Management: Loads configurations seamlessly from .env files using godotenv.
  • RESTful API: Lightweight and fast HTTP API server.
  • Feed Aggregation: Scheduled background scrapers to fetch and parse RSS feeds (in development).
  • User & Subscription Management: Authenticate users and track feed subscriptions (in development).

🛠️ Prerequisites

  • Go (version 1.22 or newer recommended)
  • Git

⚙️ Getting Started

1. Clone the repository

git clone https://github.com/hasunB/rssagg.git
cd rssagg

2. Configure environment variables

Create a .env file in the root directory:

PORT=8080
Variable Description Default
PORT The port the HTTP server listens on 8080

3. Install dependencies

go mod download

4. Run the application

Direct run:

go run .

Build and run executable:

  • Linux / macOS:

    go build -o rssagg
    ./rssagg
  • Windows (PowerShell):

    go build
    .\rssagg.exe

📂 Project Structure

rssagg/
├── .env                  # Environment variables (git-ignored)
├── .gitignore            # Git ignore configuration
├── go.mod                # Go module definition
├── go.sum                # Go module checksums
├── LICENSE               # MIT License
├── main.go               # Application entry point
└── README.md             # Project documentation

🗺️ Roadmap

  • Project initialization & environment configuration
  • HTTP router setup (chi router)
  • Database integration with PostgreSQL & sqlc
  • Database schema migrations using goose
  • User authentication with API keys
  • Feed creation and follow/unfollow endpoints
  • Background RSS feed scraper worker

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

About

A robust and scalable RSS feed aggregator service built with Go.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages