Keep your world in sync.
Orbit is a collaborative location and calendar coordination app for groups, built with Flutter and Firebase. It helps families, friends, and teams stay connected by sharing whereabouts and coordinating events seamlessly.
- Group Management: Create and join groups to coordinate with family, friends, or colleagues.
- Location Sharing: Share your current location with group members for specific dates.
- Event Scheduling: Create and manage group events with RSVP functionality.
- Holiday Calendars: Automatically displays public holidays based on your location.
- Religious Calendars: Support for Chinese Lunar and Islamic Hijri calendars.
- Real-time Sync: Instant updates across all devices using Firebase.
- Dark Mode: Full dark/light theme support.
- PWA Support: Install as a Progressive Web App on any device.
- Admin Controls: Role-based access and member management.
- 🎨 UI & Accessibility: Standardized 90% mobile dialogs with pixel-perfect icon alignment, added variable text scaling (80-150%), and refined Settings labels with vibrant, high-contrast button colors.
- � Responsive Polish: Optimized App Bar, Date Picker, and "Load more" button layouts to prevent overflows on narrow screens (320px-450px) while maintaining legibility.
- ⚡ UX & PWA: Restored original AlertDialog feedback for copy actions, added a manual refresh button, and optimized installation logic for iOS PWA users.
- � Security & Integrity: Hardened Firestore rules for user privacy, secured the group join flow, and enforced strict ownership transfer policies to prevent orphaned groups.
- 🚀 PWA Manual Install: Added "Install App" button in drawer for Desktop (Chrome/Edge) and Mobile (Android/iOS).
- 🎂 Birthday Reliability: Implemented lifecycle-aware, group-wide birthday checks to ensure notifications never miss a beat.
- 🔗 Join Link invitations: Users can now join groups via shareable, PWA-aware links with automatic login, join request handling, and smart URL cleanup to prevent refresh loops.
- 📤 Enhanced Sharing: Mobile users enjoy native share sheets for instant app sharing, while desktop users get a reliable clipboard fallback.
- 📋 Device Info: Added "Copy Info" button in Feedback dialog to instantly grab App Version, User Agent, Timezone, and PWA status for easier debugging.
- 🎨 UI Modernization: Refined spaces, icons, and Dismissible Dialogs (click outside to close) for a smoother experience.
- 🔗 Share Logic: Fixed a bug where native sharing on mobile would duplicate the invite link.
- 📱 Mobile Paste Fix: Empowered mobile users with native long-press context menus for seamless ID pasting.
- 🛡️ Admin Hierarchy: Refined permissions to allow Admins to edit details while protecting Owners and other Admins from removal.
- 🛠️ Stability & Dedup: Improved notification deduplication, external ID sync, and fixed join link compilation issues.
- Flutter SDK (^3.9.2)
- Firebase project with Firestore, Auth, and Storage enabled
- Node.js (for Firebase Functions)
-
Clone the repository:
git clone https://github.com/Nzettodess/Orbit.git cd Orbit -
Install dependencies:
flutter pub get
-
Set up Firebase:
- Create a Firebase project at console.firebase.google.com
- Enable Firestore, Authentication (Email/Password + Google), and Storage
- Download
google-services.json(Android) andGoogleService-Info.plist(iOS) - Run
flutterfire configureto generatefirebase_options.dart
-
Create a
.envfile with your API keys:GOOGLE_API_KEY=your_google_calendar_api_key
-
Run the app:
flutter run -d chrome
- Android PWA Keyboard: Some Android devices may experience UI shifts or difficulty interacting with text areas when the virtual keyboard is active. We are actively working on a more robust viewport-aware solution.
If you find Orbit useful, please consider giving it a star! It helps others discover the project.
This project is open source and available under the MIT License.