Draw it — це програма для спільної роботи в режимі реального часу, розроблена з використанням Flutter для зовнішнього інтерфейсу та Node.js + Express із WebSocket для серверної синхронізації. Додаток дозволяє кільком користувачам малювати одночасно на спільній дошці, демонструючи досвід як у кросплатформній розробці інтерфейсу користувача, так і в мережевому спілкуванні в режимі реального часу.
🚀 Ключова мета:
Увімкніть безперебійну співпрацю в реальному часі на спільній креслярській дошці за допомогою продуктивної архітектури, керованої подіями.
🧱 Технічний стек:
Flutter (Dart): кросплатформенний мобільний інтерфейс із обробкою жестів і спеціальним відтворенням
Node.js + Express.js: серверний сервер із підтримкою WebSocket для постійного двонаправленого зв’язку
WebSocket (ws): для синхронізації штрихів між користувачами в реальному часі
CustomPainter: Ефективне покадрове малювання на полотні
Обробник дозволів & RepaintBoundary: збереження малюнків як зображень на пристрої
🖌️ Основні функції:
✍️ Спільне малювання в реальному часі: усі учасники миттєво бачать штрихи один одного за допомогою трансляції WebSocket.
📡 Сервер WebSocket без збереження даних: легкий сервер Node.js підтримує активні з’єднання з сокетами та передає події з низьким часом затримки.
🎨 Canvas Engine: жести дотику перетворюються на векторні контури, які можна малювати, і візуалізуються за допомогою CustomPainter від Flutter.
📁 Експортувати полотно: користувачі можуть зберігати свої ілюстрації як зображення
🔧 Модульна архітектура: окремі рівні для логіки малювання, серверних подій та інтеграції платформи.