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!
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: