Groupy is a collaborative group planning application built with Flutter and Firebase. It was born from the idea of creating a "multiplayer agenda" — a place where friends, families, or teams can sync their schedules and plan events seamlessly in real-time.
The project started as a personal journey into mobile app development. The goal was to solve a common friction point: coordinating schedules across a group without the back-and-forth of messaging apps. Groupy allows users to create groups, see a shared calendar, and manage collective "agendas" in one place.
- Real-time Sync: Instant updates across all group members using Cloud Firestore.
- Shared Calendar: A unified view of all group events (powered by
table_calendar). - Group Management: Create, join, and manage multiple groups with unique invite codes.
- User Profiles: Personalized experience with profile management.
- Dynamic Deep Linking: Seamless group joining via shared links.
- Multi-platform Native: Consistent experience across iOS and Android.
- Framework: Flutter
- State Management: Provider
- Backend: Firebase (Auth, Firestore, Storage, Analytics, Crashlytics)
- UI Components:
awesome_snackbar_content,quickalert,iconly - Utilities:
shared_preferences,url_launcher,share_plus,intl
The project follows a modular structure:
lib/screens/: UI-heavy widgets organized by feature (Auth, Agenda, Team, User).lib/providers/: Business logic and state management.lib/services/: Abstracted backend interactions (Firebase, Fetching).lib/models/: Data structures for Events, Groups, and Users.
Note
This project is currently in a legacy/paused state. It is not actively maintained and some features (like Firebase Dynamic Links) may require updates to work with current API standards. It is shared here as a reflection of my mobile development journey and architectural decisions.
Since this project requires a Firebase configuration, follow these steps to run it locally:
- Clone the repository:
git clone https://github.com/yourusername/groupy.git - Install dependencies:
flutter pub get - Set up a Firebase Project.
- Add your
google-services.json(Android) andGoogleService-Info.plist(iOS) to the respective directories. - Update
lib/firebase_options.dartwith your project's credentials. - Run the app:
flutter run
Distributed under the MIT License. See LICENSE for more information.


