This project is an RSS feed aggregator built with Go. It allows users to add and follow RSS feeds, and periodically fetches and stores new posts from these feeds.
- User authentication
- Add and manage RSS feeds
- Automatically fetch new posts from followed feeds
- RESTful API for accessing aggregated content
- Go
- PostgreSQL
- sqlc for database query generation
- goose for database migrations
-
Clone the repository:
git clone https://github.com/Delvoid/rss.git
-
Install dependencies:
go mod tidy
-
Set up the database:
- Create a PostgreSQL database
- Update the database connection string in your
.env
file
-
Run database migrations:
goose postgres "your-connection-string" up
-
Build and run the application:
go build ./rss-feed-aggregator
POST /v1/users
: Create a new userGET /v1/users
: Get authenticated user's informationPOST /v1/feeds
: Create a new feedGET /v1/feeds
: Get all feedsPOST /v1/feed_follows
: Follow a feedGET /v1/feed_follows
: Get user's followed feedsDELETE /v1/feed_follows/{feedFollowID}
: Unfollow a feedGET /v1/posts
: Get posts from followed feeds