We're sorry but this app doesn't work properly without JavaScript enabled. Please enable it to continue.

This lesson's interactive features are locked, please to keep using them

Welcome to the Blog Aggregator

We're going to build an RSS feed aggregator in Go! We'll call it "Gator", you know, because aggreGATOR 🐊. Anyhow, it's a CLI tool that allows users to:

  • Add RSS feeds from across the internet to be collected
  • Store the collected posts in a PostgreSQL database
  • Follow and unfollow RSS feeds that other users have added
  • View summaries of the aggregated posts in the terminal, with a link to the full post

RSS feeds are a way for websites to publish updates to their content. You can use this project to keep up with your favorite blogs, news sites, podcasts, and more!

for Windows Users

If you try to complete this course without WSL 2 installed on Windows, you're gonna have a bad time.

Prerequisites

The project assumes that you're already familiar with the Go programming language and SQL databases.

Learning Goals

  • Learn how to integrate a Go application with a PostgreSQL database
  • Practice using your SQL skills to query and migrate a database (using sqlc and goose, two lightweight tools for typesafe SQL in Go)
  • Learn how to write a long-running service that continuously fetches new posts from RSS feeds and stores them in the database

Assignment

Before we start, let's get you setup. You'll need both the go toolchain (version 1.26+) and the Boot.dev CLI installed. If you don't already have them, here are the installation instructions.

Some of the CLI tests in this course depend on tools and services installed on your local machine, like Go and PostgreSQL.

On lessons like this one, failed submissions won't penalize you, so it's safe to retry if something goes wrong with your local setup.

Not every lesson in this course is no-penalty, so read the instructions carefully and follow the submit flow each lesson asks for.

Submit the CLI tests.