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

Welcome to the Blog Aggregator

We're going to build an RSS feed aggregator in TypeScript! 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 TypeScript and SQL databases.

Learning Goals

  • Learn how to integrate a TypeScript application with a PostgreSQL database
  • Practice using your SQL skills to query and migrate a database (using drizzle, a lightweight tool for type-safe SQL in TypeScript)
  • 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 dive into the code, let's make sure you have everything you'll need on your machine.

22.15.0

This allows you to simply type nvm use in your CLI while in the root of your project to activate the correct version of node! You may get an installation command to run if you don't yet have that version of node, but it's just another one-liner.

Check to make sure you've activated the correct version of node by typing:

node --version
# Prints: v22.15.0

Some of the CLI tests in this course depend on tools and services installed on your local machine, like Node.js 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.