xmliszt / taboo-ai

Learn English vocabulary while having fun playing a game with intelligent chat AI. Train to use clear English expression and descriptive phrases to trick the AI into saying the target guess word. Taboo AI is both fun and educational, allowing you to gain knowledge, practice english expression, memorise more vocabs, and simply have fun!

Home Page:https://taboo-ai.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

v3.2.0: DB Migration from Firebase -> Supabase

xmliszt opened this issue · comments

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 all TODO 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