Skip to content

skopjehacklab/cloudy-rss

Repository files navigation

cloudy-rss

Serverless RSS reader

Requirements

  • Login with OIDC, frontend-only
  • Email allowlist for logins
  • Add feeds to sync
  • Refresh my feeds
  • Mark items read/unread
  • Local-first, cache feed (and everything else), make sure its usable offline (e.g. airplane)
  • PWA, Mobile friendly

Technical requirements

  • Cheap scale-down - DynamoDB, Lambda

Sketch architecture

graph TD
  DynamoDB[(DynamoDB)]
  updateLambda[Update Lambda]
  syncLambda[Sync Lambda]
  dexiejs[(DexieJS)]

  cron --> updateLambda --> DynamoDB
  frontend --> dexiejs --> syncLambda --> DynamoDB
Loading

Tech stack

Frontend

Infra

Backend

Development setup

SST uses your current AWS profile to deploy a development instance of everything. The region is currently hardcoded to eu-west-2 (London)

The only bit of configuration you will need is a Google OpenID application. To set that up:

  1. Create a new OpenID application with Google at https://console.cloud.google.com/apis/credentials/oauthclient
  2. Copy the .env.example to .env.local and fill in the credentials from the above

Running

To start the backend in development mode, use npm run dev

To start the frontend in development mode, use cd packages/frontend && npm run dev

If anything goes wrong with the backend stack, you can use npm run sst remove

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published