A website that automatically notifies when a new patch is released.
It also supports notifications via the Web Push API and Discord Webhooks. Notifications are sent via the notifications
service.
This is accomplished by using Supabase and their real-time services to watch the patches
table for new patches, and then doing what needs to be done based on it!
No PII data is stored. It only stores the data needed to send notifications, which is either:
- A Discord Webhook URL (e.g.
https://discord.com/api/webhooks/{random number}/{random string}
) - Web Push API URL (e.g.
https://fcm.googleapis.com/fcm/send/{random string}
)
as well as which patch number was last sent to the recipient.
graph TD
worker(Cloudflare Worker)
vercel(Vercel)
supa(Supabase)
browser([Browser])
notif(fa:fa-arrow-up-right-from-square notifications service)
discord([Discord Channels])
worker -- Triggers checks on a cron schedule --> vercel
supa -- patch data, real-time updates --> browser
vercel -- hosts SPA, lambda functions --> browser
vercel -- updates patch, push notif data --> supa
supa -- real-time updates --> notif
notif -- push notifications --> browser
notif -- webhooks --> discord
click notif href "https://github.com/isthepatchout/notifications" "Repo"
style supa stroke:#1d9065
style worker stroke:orange
Requires Node ^20, Supabase CLI, Vercel CLI
- Install dependencies:
$ pnpm i
- Set up a local supabase instance:
$ supabase start
- Set up the
.env
file- Create the file:
$ cp .env.example .env
- Insert the values from starting the supabase instance, etc.
- Create the file:
- Install the Vercel CLI:
$ npm i -g vercel
- Run dev server:
$ vercel dev
Optional unless you need to work with realtime:
Execute the following SQL query in the database:
ALTER PUBLICATION supabase_realtime ADD TABLE patches;