Draw it er en sanntids samarbeidende lerretsapplikasjon utviklet med Flutter for frontend og Node.js + Express med WebSocket for backend-synkronisering. Appen lar flere brukere tegne samtidig på et delt brett, og demonstrerer ekspertise innen både utvikling av grensesnitt på tvers av plattformer og nettverkskommunikasjon i sanntid.
🚀 Hovedmål:
Aktiver sømløst, sanntidssamarbeid på et delt tegnebrett ved hjelp av en ytelsesdrevet, hendelsesdrevet arkitektur.
🧱 Tech Stack:
Flutter (Dart): Mobile frontend på tvers av plattformer med bevegelseshåndtering og tilpasset gjengivelse
Node.js + Express.js: Backend-server med WebSocket-støtte for vedvarende toveis kommunikasjon
WebSocket (ws): For sanntidssynkronisering av slag på tvers av brukere
CustomPainter: Effektiv ramme-for-ramme-tegning på lerret
Permission Handler & RepaintBoundary: Lagre tegninger som bilder på enheten
🖌️ Kjernefunksjoner:
✍️ Delt sanntidstegning: Alle deltakere ser hverandres slag umiddelbart ved å bruke WebSocket-kringkasting.
📡 Stateless WebSocket Server: Lettvekts Node.js-server opprettholder aktive socketforbindelser og videresender slaghendelser med lav ventetid.
🎨 Canvas Engine: Berøringsbevegelser konverteres til tegnebare vektorbaner og gjengis ved hjelp av Flutters CustomPainter.
📁 Eksporter lerret: Brukere kan lagre kunstverkene sine som et bilde
🔧 Modulær arkitektur: Separate lag for tegning av logikk, serverhendelser og plattformintegrasjon.