Fullstack Developer з Дніпра Михайло Воболіс розробив застосунок Real Time Chat. Це приватний чат для спілкування сам на сам у режимі реального часу.
Ідея застосунку виникла у серпні як частина тестового завдання для однієї української IT-компанії на позицію Fullstack Developer.
Fullstack Developer Михайло Воболіс
Проєкт здався мені не лише цікавим, але й корисним, адже він охоплював усі ключові аспекти професії: Frontend, Backend і навіть DevOps. Так виник цей приватний чат, який дозволив не лише виконати тестове завдання, а й створити реально продукт.
Real Time Chat
Real Time Chat — застосунок, який є цифровим «містком» між двома людьми, який забезпечує приватність, швидкість та контроль над розмовою.
«Він ідеально підходить для тих, хто цінує особисте спілкування в зручному і безпечному середовищі. Його головна функція це дати людям можливість вести особисті розмови так само швидко та зручно, як у живому діалозі», — розповідає Михайло.
Застосунок пропонує наступний функціонал:
Керування доступом. Автентифікація та авторизація користувачів у додатку.
Миттєві повідомлення. Коли один користувач надсилає повідомлення, інший бачить його без затримки у реальному часі. Це досягається завдяки технології Socket.IO, яка працює на основі подій.
Особистий простір для спілкування. Кожна пара користувачів має свій унікальний «канал» для розмови. Це як окрема кімната, куди не може потрапити ніхто сторонній.
Повний контроль над повідомленнями. Користувач може не лише надіслати повідомлення, а й відредагувати або видалити його. Таким чином, діалог завжди залишається в тому вигляді, у якому зручно обом співрозмовникам.
Збереження історії. Усі розмови зберігаються у базі даних PostgreSQL, тож історія листування доступна навіть після перезапуску застосунку. Це робить чат надійним і зручним для постійного використання.
Простота й швидкість. Користувачеві достатньо просто увійти, обрати співрозмовника і почати писати, жодних зайвих кроків.
«Telegram, Messenger і WhatsApp це гігантські універсальні інструменти „для всіх і всього“. Проте, наразі Real Time Chat це про інше, про демонстрацію простоти застосунку з фокусом на приватність та адаптивність», — додає розробник.
Про розробку
На створення застосунку розробник витратив 5 днів. Пришвидшити процес допоміг ChatGPT.
«Оскільки разом з ТЗ було встановлено дедлайн по часу виконання, було прийнято рішення в першу чергу зосередитись на реалізації бізнес-логіки та роботі з БД, а стилізацію фронтенду, яка не була критерієм виконання ТЗ, „довірити“ ChatGPT. Для цього я написав стилізацію для декількох сторінок, які були надані у вигляді промпту ChatGPT як референси, для розуміння контексту при подальшій стилізації компонентів. Завдяки цьому рішенню, як і планувалось, робота була виконана точно у межах встановленого дедлайну», — пояснює розробник.
Наразі найбільшими інвестиціями у цей проєкт став власний час та зусилля Михайла: «Це показує, що навіть за відносно короткий термін і без великих фінансових витрат можна створити робочий продукт, якщо є чітке бачення та мотивація.
Для створення клієнтської частини розробник використав React, TypeScript та Tailwind CSS. Сервер зробив на Node.js та Express, базу даних приєднав PostgreSQL через Prisma, а за real-time відповідає SocketIO.
«Щоб усе було зручно запускати, я повністю докеризував проєкт за допомогою Docker та docker-compose», — каже айтівець.
На якому етапі проєкт
Зараз проєкт перебуває на етапі активної розробки. Кодова база відкрита для спільноти розробників на GitHub, тож кожен охочий може завантажити її, розгорнути застосунок локально та протестувати.
«Це дає можливість не лише побачити, як працює чат, а й безпосередньо вплинути на його розвиток, залишити відгук, поділитися ідеями чи навіть зауваженнями», — зазначає Михайло.
Щодо планів розвитку проєкту, розробник каже, що вони прості й водночас важливі: отримати зворотний зв’язок від користувачів та спільноти розробників.
«Саме цей фідбек допоможе зрозуміти, які функції варто вдосконалити чи додати в першу чергу. Після цього проєкт буде поступово розвиватися далі, з акцентом на зручність, безпеку та нові можливості для приватного спілкування».
Айтівці зі Львова розробили конкурента Telegram, WhatsApp, Signal, що працює навіть за наднизької швидкості інтернету. Як функціонує і кому корисний месенджер Bridge