bossfaiz / hangify

Repository from Github https://github.combossfaiz/hangifyRepository from Github https://github.combossfaiz/hangify

πŸŽ‰ Hangify β€” "Plan, Hang, Earn!"

A social hangout planning app with gamification elements built with Flutter and Supabase.

✨ Features

πŸ—“οΈ Core Features

  • Calendar-Based Hangout Planner
    • Monthly & Weekly calendar views
    • Create events (Movie Night, Hiking, CafΓ©, etc.)
    • Invite friends via username or contact
    • RSVP system (Accept/Decline/Maybe)
    • Set location, time, and notes
    • Recurring events support

πŸ•ΉοΈ Gamification System

  • Points and Levels

    • Earn XP for creating events (+10 XP)
    • Earn XP for attending hangouts (+30 XP)
    • Earn XP for inviting friends (+5 XP)
    • Earn XP for feedback/photos (+10 XP)
    • Bonus XP for not cancelling last minute (+10 XP)
  • Badges & Achievements

    • "Weekend Warrior", "Brunch Master"
    • "Social Butterfly", "Adventure Seeker"
    • Unlock themes and avatars
  • Streaks

    • Weekly streak for participating in hangouts
    • Monthly streak for planning events
    • Break streak? Start over!
  • Social Leaderboard

    • Friends ranking based on XP
    • Streak competitions
    • Badge leaderboards

πŸ“² Social Features

  • Hangout Memories

    • Post photos and captions
    • Tag friends in events
    • Create "Moments" galleries
    • Comment and react system
  • Groups & Privacy

    • Create friend groups ("Family", "Besties", "College Buddies")
    • Private or public events
    • Group-only event visibility

πŸ” Authentication

  • Email/password registration
  • User profiles with avatars
  • Secure Supabase backend

πŸš€ Getting Started

Prerequisites

  • Flutter SDK (3.7.0 or higher)
  • Dart SDK
  • Android Studio / VS Code
  • Android/iOS device or emulator

Installation

  1. Clone the repository

    git clone https://github.com/yourusername/hangify.git
    cd hangify
  2. Install dependencies

    flutter pub get
  3. Configure Supabase

    • Create a Supabase project at supabase.com
    • Update lib/config/supabase_config.dart with your credentials:
    class SupabaseConfig {
      static const String url = 'YOUR_SUPABASE_URL';
      static const String anonKey = 'YOUR_SUPABASE_ANON_KEY';
    }
  4. Run the app

    flutter run

πŸ—οΈ Project Structure

lib/
β”œβ”€β”€ config/
β”‚   β”œβ”€β”€ supabase_config.dart    # Supabase configuration
β”‚   β”œβ”€β”€ theme.dart             # App theme and colors
β”‚   └── router.dart            # Navigation routing
β”œβ”€β”€ models/
β”‚   β”œβ”€β”€ user.dart              # User data model
β”‚   β”œβ”€β”€ event.dart             # Event data model
β”‚   └── group.dart             # Group data model
β”œβ”€β”€ screens/
β”‚   β”œβ”€β”€ auth/                  # Authentication screens
β”‚   β”œβ”€β”€ main/                  # Main app screens
β”‚   β”œβ”€β”€ events/                # Event management
β”‚   └── groups/                # Group management
└── widgets/                   # Reusable UI components

🎨 Design System

Color Palette

  • Primary: #6C63FF (Purple)
  • Secondary: #00D4AA (Teal)
  • Accent: #FF6B6B (Coral)
  • Success: #4CAF50 (Green)
  • Warning: #FF9800 (Orange)
  • Error: #F44336 (Red)

Theme

  • Material 3 design
  • Light and dark theme support
  • Custom card and button styles
  • Consistent spacing and typography

πŸ”§ Dependencies

dependencies:
  flutter:
    sdk: flutter
  supabase_flutter: ^2.9.1      # Backend and authentication
  go_router: ^16.1.0            # Navigation routing
  table_calendar: ^3.2.0        # Calendar widget
  flutter_riverpod: ^2.6.1      # State management
  intl: ^0.20.2                 # Internationalization
  cached_network_image: ^3.4.1  # Image caching
  image_picker: ^1.1.2          # Image selection
  url_launcher: ^6.3.2          # URL handling

🚧 Roadmap

Phase 1 (Current)

  • βœ… Basic app structure
  • βœ… Authentication system
  • βœ… Event creation and management
  • βœ… Calendar integration
  • βœ… User profiles and stats

Phase 2 (Next)

  • πŸ”„ Smart Hangout Matcher (AI)
  • πŸ”„ Calendar sync integration
  • πŸ”„ Group decision-making tools
  • πŸ”„ Photo sharing and memories

Phase 3 (Future)

  • πŸ”„ Spin-the-Plan mini-game
  • πŸ”„ Friend engagement scoring
  • πŸ”„ Monthly challenges
  • πŸ”„ Budget estimator and splitter
  • πŸ”„ Post-hangout recaps

🀝 Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

πŸ“± Screenshots

Screenshots will be added here

πŸ› Known Issues

  • Placeholder screens for some features
  • Mock data used for demonstration
  • Supabase integration needs completion

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ™ Acknowledgments

  • Flutter team for the amazing framework
  • Supabase for the backend infrastructure
  • The open-source community for various packages

πŸ“ž Support

If you have any questions or need help:

  • Create an issue on GitHub
  • Contact the development team
  • Check the documentation

Made with ❀️ by the Hangify team

About


Languages

Language:Dart 85.1%Language:C++ 5.9%Language:CMake 4.6%Language:PLpgSQL 3.1%Language:Swift 0.6%Language:C 0.3%Language:HTML 0.3%Language:Kotlin 0.0%Language:Objective-C 0.0%