Small Clicks, Big Impact
GameEco is an innovative eco-gamification mobile application that transforms environmental consciousness into engaging, interactive experiences. The app encourages sustainable living through gamified activities, task completion, and AI-powered verification systems.
- Kid Mode (Under 15): Gamified learning experience with the EcoSort game
- Next-Gen Mode (15+): Task-based environmental challenges with real-world impact
- ๐ Multi-Authentication System: Google OAuth and Email/Password authentication
- ๐ฑ Role-Based Dashboards: Customized experiences for different user types
- ๐ฎ EcoSort Game: Interactive drag-and-drop recycling game with scoring system
- ๐ Daily Environmental Tasks: Real-world eco-friendly challenges
- ๐ธ AI-Powered Task Verification: Smart photo verification using Google Gemini AI
- โญ Eco Points System: Gamified reward system for completed activities
- ๐จ Interactive Onboarding: Beautiful flashcard-style introduction screens
- Real-time gameplay with 60-second rounds
- Three sorting categories: Recycle, Organic, and Trash
- Streak-based scoring system
- Dynamic difficulty progression
- Coin rewards based on performance
- 6 Different eco-friendly activities:
- Plastic waste collection
- Sapling plantation
- Avoiding single-use plastics
- Using public transport/walking
- Saving electricity
- Educating friends about sustainability
- Camera integration for proof submission
- AI verification of task completion
- Real-time status tracking
- Framework: Flutter (Dart)
- State Management: StatefulWidget with setState
- UI Components: Material Design 3
- Navigation: Flutter Navigation 2.0
- Authentication: Firebase Auth with Google Sign-In
- Database: Cloud Firestore (NoSQL)
- File Storage: Cloudinary (Image hosting)
- AI Service: Google Gemini AI (Image verification)
- Runtime: Node.js with Express
- AI Integration: Google GenAI SDK
- Image Processing: Cloudinary API
- Deployment: Vercel
dependencies:
firebase_core: ^3.4.0
firebase_auth: ^5.3.1
google_sign_in: ^6.2.1
cloud_firestore: ^5.6.12
camera: ^0.11.0+2
permission_handler: ^11.3.1
http: ^1.2.2
cupertino_icons: ^1.0.8{
"@google/genai": "^1.28.0",
"express": "^4.21.2",
"dotenv": "^16.4.7",
"firebase-admin": "^13.1.0",
"mime": "^2.6.0",
"node-fetch": "^3.3.2"
}lib/
โโโ main.dart # Entry point & Firebase initialization
โโโ splash_screen.dart # Loading screen with branding
โโโ flashcards_screen.dart # Onboarding experience
โโโ auth_page.dart # Mode selection (Kid/Next-Gen)
โโโ login_page.dart # Authentication forms
โโโ dashboard.dart # Role-based main interface
โโโ eco_sort_game.dart # Interactive recycling game
โโโ daily_tasks.dart # Environmental task list
โโโ task_detail_page.dart # Task completion & verification
โโโ firebase_options.dart # Firebase configuration
ai_backend/
โโโ server.js # Express server & Gemini AI integration
โโโ package.json # Node.js dependencies
โโโ vercel.json # Deployment configuration
โโโ api/
โโโ gemini.js # AI verification endpoints
- Flutter SDK (3.9.2+)
- Node.js (16+)
- Firebase project setup
- Google AI API key
- Cloudinary account
-
Clone the repository
git clone https://github.com/HACKWAVE2025/B06.git cd B06 -
Flutter App Setup
flutter pub get flutter pub run flutter_launcher_icons:main
-
Firebase Configuration
- Add your
google-services.jsontoandroid/app/ - Update
firebase_options.dartwith your Firebase config
- Add your
-
Backend Setup
cd ai_backend npm install -
Environment Variables Create
.envinai_backend/:GEMINI_API_KEY=your_google_ai_api_key PORT=3000
-
Run the Application
# Start backend server cd ai_backend && npm start # Run Flutter app flutter run
- Splash Screen: Brand introduction with logo and tagline
- Onboarding: Interactive flashcards explaining app benefits
- Mode Selection: Choose between Kid Mode or Next-Gen Mode
- Authentication: Google OAuth or email/password registration
- Dashboard: Personalized interface based on user role
- Activities:
- Kids: Play EcoSort game to earn points
- Adults: Complete daily environmental tasks
- Verification: AI-powered photo verification for task completion
- Progress Tracking: Real-time points and achievement system
- User captures photo of completed environmental task
- Image uploaded to Cloudinary for hosting
- Backend processes image with Google Gemini AI
- AI analyzes photo against task requirements
- Returns verification result (true/false)
- Points awarded for successful verification
- Task status updated in Firestore database
- Primary: Deep Green (
#27463A) - Secondary: Ivory (
#EDE7E3) - Accent: Green Accent (
#66BB6A) - Background: Dark (
#121212) - Success: Light Green (
#22C55E) - Warning: Orange (
#F29D38)
- Minimalist Interface: Clean, intuitive navigation
- Eco-Friendly Aesthetics: Nature-inspired color schemes
- Gamification Elements: Points, streaks, and achievements
- Responsive Design: Optimized for various screen sizes
- Accessibility: High contrast and readable typography
- Firebase Authentication: Secure user management
- Image Duplicate Detection: SHA-256 hashing prevents reuse
- Input Validation: Server-side request validation
- CORS Protection: Configured for production environments
- API Rate Limiting: Prevents abuse of AI verification endpoints
GameEco promotes real-world environmental actions through:
- Waste Reduction: Plastic collection and recycling education
- Carbon Footprint: Encouraging public transport usage
- Energy Conservation: Electricity saving challenges
- Green Awareness: Environmental education and community building
- Sustainable Habits: Long-term behavior modification through gamification
- Google AI: Gemini API for intelligent image verification
- Firebase: Backend-as-a-Service platform
- Cloudinary: Cloud-based image management
- Flutter Community: UI components and best practices
- Environmental Organizations: Inspiration for eco-friendly challenges