v3.2.0: DB Migration from Firebase -> Supabase
xmliszt opened this issue · comments
Li Yuxuan commented
Why do we migrate?
- Take advantages of Postgres SQL
- Cheaper in the long run?
- Come with RLS and Auth (We can get rid of the annoying Google popup error blocked by browser)
- Relational DB more organised
- Integration with NextJS server actions and other fancy tech
Tasks
- Setup supabase DB and schema
- Preview: Migrate users (trigger: if user already exists when sign up, update the row)
- Preview: Migrate levels
- Preview: Migrate words
- Preview: Migrate games & scores
- Preview: Migrate subscriptions
- Preview: Migrate app and levels stats from realtime db
- Migrate firebase cloud functions utilities
- Auth migration to supabase
- Code base change to use supabase
- Supabase view & rpc for fetching & inserting complex data instead of so many api calls
- Realtime db fetch app stats
- Stripe subscription handle user purposedly delete account to obtain free trials again
- login issue for new user
- Pricing page layout issue on phone
- Pro plan add "ai suggestion", and all use gemini pro
- nuke openai
- pricing page free plan "downgrade" text not correct
- CICD - supabase deployment
-
⚠️ Resolve allTODO
items - Test and fix all bugs from migration
- Remove mention about curated topic (as we gonna use separate PR to push the new feature)
- One last check make sure migration script align 100%
- nuke contact-me, move substack pub to /publication route separately, move links (buymecoffee, join discord, open source) into side bar, keep home screen clean. if user not pro user, show pricing plan below
- Production: Migrate users
- Production: Migrate levels
- Production: Migrate words
- Production: Migrate games & scores
- Production: Migrate app stats from realtime db
- Production: Migrate plans and plan_features (Remember to change the price_id to be the production one!)
- CICD - supabase deployment