Skip to content

Repository files navigation

🚀 Orbit: Private Study Accountability

Orbit Mockup

Flutter Firebase Riverpod

Orbit is a premium, private 2-person study accountability platform designed to bridge the gap between solo learning and social distractions. It creates a dedicated "orbit" for you and your study partner, focusing on real-time presence, shared goals, and deep-work motivation.


✨ Key Features

  • 🔐 Exclusive Pairing: Establish a permanent, private connection using a unique sync code. No public profiles, just you and your partner.
  • 📡 Live Presence Sync: Real-time status updates powered by Firebase Realtime Database. See when your partner is in "Deep Work," "Paused," or "Taking a Break."
  • 📊 Shared Goal Tracking: Create, track, and complete study topics together. Celebrate each other's progress in real-time.
  • 📈 Advanced Analytics: Interactive focus charts, study streaks, and productivity metrics powered by fl_chart to gamify your learning experience.
  • 🔔 Smart Notifications: Stay updated with partner activity and session alerts using flutter_local_notifications and foreground tasks.
  • 📱 True Cross-Platform: Optimized for mobile (iOS/Android), desktop (Windows/macOS/Linux), and Web with a responsive UI.

🛠 Tech Stack

Core

  • Framework: Flutter (v3.3.0+)
  • Language: Dart
  • State Management: Riverpod (Annotation-based generation)
  • Navigation: GoRouter

Backend & Storage

  • Backend: Firebase
    • Cloud Firestore: Persistent user data and topic synchronization.
    • Realtime Database: High-speed presence tracking.
    • Firebase Messaging: Push notifications for partner alerts.
  • Local Persistence: Hive CE for ultra-fast local storage.

UI & UX

  • Design: Responsive Framework, Glassmorphism, and Fluent animations.
  • Animations: flutter_animate, Lottie.
  • Icons: Phosphor Icons and Cupertino Icons.
  • Typography: Google Fonts (Inter, Roboto).

🏗 Architecture

Orbit follows a Clean Feature-Driven Architecture, separating concerns into distinct layers:

lib/
├── core/           # Core utilities: Router, Theme, Constants
├── data/           # Data Layer: API clients, Repositories implementation, DTOs
├── domain/         # Domain Layer: Entities, Abstract Repositories, Use Cases
├── features/       # Feature Layer: UI and State (Riverpod Providers)
│   ├── home/       # Main dashboard and navigation
│   ├── onboarding/ # First-time user experience
│   ├── settings/   # User preferences and app settings
│   ├── splash/     # Initial loading screen
│   ├── stats/      # Productivity analytics and charts
│   └── topics/     # Study topic management and tracking
├── firebase/       # Firebase service configuration
├── providers/      # Global state providers
├── services/       # Infrastructure services (Notifications, Foreground tasks)
└── utils/          # Helper functions and extensions

🚀 Getting Started

1. Prerequisites

2. Installation

git clone https://github.com/your-repo/orbit.git
cd orbit
flutter pub get

3. Firebase Configuration

We use the FlutterFire CLI for automated configuration:

# Activate the CLI
dart pub global activate flutterfire_cli

# Configure the project
flutterfire configure --project=your-project-id

4. Environment Variables

Copy .env.example to .env and fill in your Firebase credentials:

FIREBASE_API_KEY=your_api_key
FIREBASE_PROJECT_ID=your_project_id
...

⚡ Development

Generate code for Riverpod and Hive:

flutter pub run build_runner build --delete-conflicting-outputs

Running the App

  • Web: flutter run -d chrome
  • Desktop: flutter run -d windows (or macos/linux)
  • Mobile: flutter run (on connected device)

🤝 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.

📜 License

Private project for personal use. Built with ❤️ for deep learners everywhere.


Orbit - Study Together, Stay Focused.

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages