App Features

App Features

Login Page

  • Connect wallet via RainbowKit / Wagmi

  • On successful connection:

    • Store wallet address in Supabase

    • Optionally prompt user to add email

Dashboard View

  • Fetch games from games table

  • Fetch user’s unlocked games from user_games

  • Display $GV token balance (via Supabase or on-chain call)

  • Use bottom tab bar (mobile) or sidebar (desktop)

Pages

  • Library: User’s owned/unlocked games

  • Cloud Gaming: Placeholder or video stream integration

  • Indie Market: Browse purchasable games

  • Achievements: Earn and view completed challenges

  • Wallet: Show address + token balance

  • Settings: Logout / disconnect wallet

API Usage Examples

Fetch Games

const { data } = await supabase.from("games").select("*");

Unlock Game

supabase.from("user_games").insert({ wallet_address, game_id });

Claim Achievement

supabase.from("user_achievements").insert({ wallet_address, achievement_id });

Fetch User Balance

const { data } = await supabase.from("user_balances").select("gv_balance").eq("wallet_address", userWallet);

License

MIT License — Open source for community use and contributions.

Last updated