Swappy.one
š Swap your Twitter image based on interest/season temporarily or forever!
About
This project is inspired by Facebook's Temporary Profile Picture, as well as the Twitter Space's logo when someone is joining a Space. Thus, I've created this apps to swap your plain Twitter picture to fit the season/event/anything that you want your follower to notice!
After a certain amount of period (you can configure on the app), it will automatically swap back (hence, Swappy) to your original image. And you can revisit the app when you feel like putting on another badges in the future.
Powered by Supabase
Supabase Auth
As this project revolves around Twitter, it is obviously make sense to use Supabase Auth. But I had to work around, and store the user's oauthtoken and oauthtokensecret to invoke User-based API because currently Supabase only return providertoken, and not secret. This issue has been raised on [supabase/gotrue-js#105](
Supabase Database
Capture the oldimagekey, and newimagekey, and get the images from Supabase Storage. It also capture the period of when to change the user's image back to old one.
Supabase Storage
Save all the user's old image, and new image, so that it can be easily retrieve to change into, or back original image.
Supabase Realtime
Show realtime toast notification when a user publishes a new image. It is using RLS that allow all users to SELECT.
Postgres Function
pgcron and pgnet makes this app possible. It change back the user's old image when the time is up. CRON was set to hourly based, and triggers serverless function hosted on Vercel.
#Holiday Hackdays
#Vuejs
#Open Source
#Twitter