This repository was archived by the owner on Dec 23, 2025. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 32
This repository was archived by the owner on Dec 23, 2025. It is now read-only.
Task 20: Code Together, Shine Together! 💻✨ #86
Copy link
Copy link
Open
Labels
Points: 50SkilledcompetitiveFor competitive issues, only top PRs need to be accepted.For competitive issues, only top PRs need to be accepted.enhancementNew feature or requestNew feature or request
Description
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_pluginor 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_boardpackage).
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}); }, ); }, );
- Save live changes to a Firestore document:
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.
Metadata
Metadata
Assignees
Labels
Points: 50SkilledcompetitiveFor competitive issues, only top PRs need to be accepted.For competitive issues, only top PRs need to be accepted.enhancementNew feature or requestNew feature or request