Retour aux projets
DevToolWebSocketsB2B

DevSync

Plateforme de collaboration en temps réel pour développeurs. Permet le pair programming à distance avec éditeur de code partagé, chat vidéo et terminal synchronisé.

Fonctionnalités Clés

  • Éditeur Monaco partagé (CRDT)
  • Terminal synchronisé
  • Appels vidéo WebRTC
  • Historique de session

Problème

La latence et les conflits d'édition rendent le pair-programming à distance frustrant sur les outils classiques comme VS Code Live Share quand la connexion est instable.

Solution

Implémentation de CRDTs (Conflict-free Replicated Data Types) via Yjs pour garantir que tous les pairs convergent vers le même état, même après une déconnexion temporaire.

lib/collaboration/provider.ts
1const ydoc = new Y.Doc();
2const provider = new WebsocketProvider(
3  'wss://api.devsync.com', 
4  'room-id', 
5  ydoc
6);
7
8const type = ydoc.getText('monaco');
9const binding = new MonacoBinding(
10  type,
11  editor.getModel(),
12  new Set([editor]),
13  provider.awareness
14);
PROJECT PREVIEW

Stack Technique

Next.jsYjsWebRTCSocket.ioDocker
RoleLead Developer
Timeline4 Weeks
Year2024