A social hangout planning app with gamification elements built with Flutter and Supabase.
- 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
-
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
-
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
- Email/password registration
- User profiles with avatars
- Secure Supabase backend
- Flutter SDK (3.7.0 or higher)
- Dart SDK
- Android Studio / VS Code
- Android/iOS device or emulator
-
Clone the repository
git clone https://github.com/yourusername/hangify.git cd hangify
-
Install dependencies
flutter pub get
-
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'; }
-
Run the app
flutter run
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
- Primary:
#6C63FF
(Purple) - Secondary:
#00D4AA
(Teal) - Accent:
#FF6B6B
(Coral) - Success:
#4CAF50
(Green) - Warning:
#FF9800
(Orange) - Error:
#F44336
(Red)
- Material 3 design
- Light and dark theme support
- Custom card and button styles
- Consistent spacing and typography
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
- β Basic app structure
- β Authentication system
- β Event creation and management
- β Calendar integration
- β User profiles and stats
- π Smart Hangout Matcher (AI)
- π Calendar sync integration
- π Group decision-making tools
- π Photo sharing and memories
- π Spin-the-Plan mini-game
- π Friend engagement scoring
- π Monthly challenges
- π Budget estimator and splitter
- π Post-hangout recaps
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
Screenshots will be added here
- Placeholder screens for some features
- Mock data used for demonstration
- Supabase integration needs completion
This project is licensed under the MIT License - see the LICENSE file for details.
- Flutter team for the amazing framework
- Supabase for the backend infrastructure
- The open-source community for various packages
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