Skip to content

metaversecloud-com/sdk-grow

Repository files navigation

Grow (Balloon Pump)

Introduction / Summary

Grow is an interactive daily engagement app that creates a check-in system with a visual balloon pump mechanic. Users can check in once per day to "pump" a virtual balloon that visually grows through 20 stages until it reaches a configurable goal. The app combines individual user engagement with administrative management capabilities.

Built With

Client

React Vite TypeScript Tailwind CSS

Server

Node.js Express

Key Features

User Features

  • Daily Check-In: Users can check in once per day using the "Help Me Grow!" button
  • Visual Progression: Balloon grows through 20 visual stages (Pump-0.png through Pump-19.png)
  • Tally Tracking: Displays overall check-in tally and daily check-in count
  • Goal Tracking: Shows the current goal required to "pop" the balloon
  • Toast Notifications: Feedback for successful check-ins, duplicates, and goal completion
  • Particle Effects: Balloon float particle effects on successful check-ins

Canvas Elements & Interactions

  • Key Asset: When clicked, opens the drawer showing the balloon image, current tally, goal, and check-in button

Admin Features

  • Access: Click on the key asset to open the drawer and select the Admin gear icon
  • Set Goal: Change the number of pumps required to pop the balloon
  • Reset: Clear all check-in data and reset the balloon to its initial state

Data Objects

The data object attached to the dropped asset stores:

{
  dailyCheckIns: {
    "YYYY-MM-DD": {
      total: number,           // Check-ins on that day
      users: {
        [profileId]: timestamp // User's check-in timestamp
      }
    }
  },
  goal: number,               // Target check-ins needed (default: 100)
  overallTally: number,       // Total check-ins in current session
  imageSrc: string            // URL to current balloon image
}

Environment Variables

Create a .env file in the root directory. See .env-example for a template.

Variable Description Required
NODE_ENV Node environment No
SKIP_PREFLIGHT_CHECK Skip CRA preflight check No
AWS_ACCESS_KEY_ID AWS access key ID for S3 access Yes
AWS_SECRET_ACCESS_KEY AWS secret access key Yes
AWS_SESSION_TOKEN Temporary AWS session token No
S3_BUCKET S3 bucket name for storing grow assets Yes
INSTANCE_DOMAIN Topia API domain (api.topia.io for production, api-stage.topia.io for staging) Yes
INTERACTIVE_KEY Topia interactive app key Yes
INTERACTIVE_SECRET Topia interactive app secret Yes

Developers

Getting Started

  • Clone this repository
  • Run npm i in server
  • cd client
  • Run npm i in client
  • cd .. back to server

Add your .env environmental variables

See Environment Variables above.

Where to find INTERACTIVE_KEY and INTERACTIVE_SECRET

Topia Dev Account Dashboard

Topia Production Account Dashboard

Helpful links

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •