A Flutter web application that allows CITRIS Quest players to redeem in-game coins for physical merchandise rewards through Printify fulfillment.
Players who have earned coins by scanning artworks in the CITRIS Quest mobile game can redeem their coins for exclusive merch:
- T-Shirts (2,500 coins) - Available in sizes S-2XL
- Magnets (500 coins)
- Stickers (300 coins)
- Keychains (800 coins)
Requirements:
- 250,000+ XP to unlock merch redemption
- Sufficient coin balance
- US shipping address
- Browse 4 merch items with responsive grid layout
- View product details with descriptions
- Select size (for shirts)
- Add to cart with quantity controls
- Edit cart before checkout
- Login with game username/password
- Session persistence across page reloads
- Automatic coin balance updates
- XP gate validation (≥250,000 XP)
- Coin balance validation
- US address form with validation
- Order summary with non-refundable notice
- Real-time transaction processing
- Order confirmation with Printify order ID
- Order history with status tracking
- Status badges (Pending/Processing/Shipped/Delivered)
- Atomic coin deduction (with optimistic locking)
- Automatic rollback on failures
- Printify balance checks before checkout
- Critical error logging for admin alerts
# Install dependencies
flutter pub get
# Run with environment variables
flutter run -d chrome \
--dart-define=SUPABASE_URL=your_url \
--dart-define=SUPABASE_ANON_KEY=your_key \
--dart-define=PRINTIFY_API_TOKEN=your_token \
--dart-define=PRINTIFY_SHOP_ID=your_shop_idSee DEPLOYMENT.md for comprehensive deployment instructions.
Quick Deploy:
- Add secrets to GitHub repository
- Push to
mainbranch - GitHub Actions automatically builds and deploys
- Frontend: Flutter Web with Material Design 3
- Backend: Supabase (PostgreSQL + Auth)
- Fulfillment: Printify API
- State Management: Singleton services with ValueNotifiers
- Deployment: GitHub Actions → GitHub Pages
- PROJECT_STATUS.md - 📊 Complete implementation status and handoff guide
- DEPLOYMENT.md - 🚀 Complete deployment guide with production setup
- DEVELOPMENT.md - 🔧 Local development setup and architecture guide
- TESTING.md - ✅ Comprehensive testing procedures and test cases
- CLAUDE.md - Project architecture (main game)
- supabase/README.md - Database migration guide
Start here: Read PROJECT_STATUS.md for a complete overview of what's implemented and what's needed for deployment.
For issues contact:
- Dylan (Project Lead)
- GitHub Issues (for bugs)
Proprietary - CITRIS Quest Project