Skip to content
This repository was archived by the owner on Dec 23, 2025. It is now read-only.
This repository was archived by the owner on Dec 23, 2025. It is now read-only.

Task 20: Code Together, Shine Together! 💻✨ #86

Description

@aarav0180

Task 20: Code Together, Shine Together! 💻✨

🎯 Objective:
Enable a shared coding space where collaborators can code together in real time.

💡 Steps to Implement:

1️⃣ Shared Coding Environment:

  • Use a collaborative coding platform like CodeMirror or Monaco Editor.
  • Integrate it into the app using flutter_webview_plugin or native components.
  • Sync real-time changes using Firebase Firestore or WebSocket.

2️⃣ Collaborative Features:

  • Code Editor: Highlight syntax and support for multiple languages.
  • Chat: Add a messaging feature for discussions using Firebase Realtime Database.
  • Task Progress: Use a Kanban board for task tracking (flutter_board package).

3️⃣ Syncing Code in Real-Time:

  • Firestore Example:
    • Save live changes to a Firestore document:
      FirebaseFirestore.instance.collection('sharedCode').doc('sessionId').update({
        'code': newCode,
      });
    • Stream code updates to the editor:
      StreamBuilder(
        stream: FirebaseFirestore.instance.collection('sharedCode').doc('sessionId').snapshots(),
        builder: (context, snapshot) {
          if (!snapshot.hasData) return CircularProgressIndicator();
          return TextField(
            controller: TextEditingController(text: snapshot.data['code']),
            onChanged: (newCode) {
              FirebaseFirestore.instance.collection('sharedCode').doc('sessionId').update({'code': newCode});
            },
          );
        },
      );

4️⃣ Adding Collaborators to the Session:

  • Display a modal or side menu to invite people to the coding session.
  • Use Firebase Firestore to track active participants.

5️⃣ Additional Features:

  • Notifications for code updates or task completion.
  • Version control via Git API integration.

💡 Outcome:
Users can code together, communicate, and track progress—all within the app!

THIS IS A CONTINUATION OF TASK 19.

BUT IT'S COMPETITIVE SO, YOU CAN JUST BUILD IT IN A NEW SCREEN.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Points: 50SkilledcompetitiveFor competitive issues, only top PRs need to be accepted.enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions