- Рік
- Обсяг
- Моя роль
SeiBoost
Full-stack SaaS-застосунок рівня enterprise на Next.js 15. Дашборд у реальному часі через WebSocket (Soketi), авторизація за ролями (NextAuth), складна схема PostgreSQL із Prisma і запуск у Docker.
Коротко
- Рік
- 2025
- Обсяг
- SaaS-платформа, дашборд у реальному часі, ролі та права
- Моя роль
- Архітектура, full-stack, DevOps
- Технології
- Next.js 15PrismaPostgreSQLNextAuthSoketiRedisRabbitMQDockerCI/CD
Кейс
01Проблема
Дашборд мав показувати стан операцій наживо багатьом людям водночас і водночас розрізняти, кому що видно. Опитувати сервер кожні кілька секунд із кожної відкритої вкладки — найкоротший шлях до перевантаженої бази: за кількох десятків підключених трафік росте швидше, ніж користь від нього.
02Що я зробив
- WebSocket через Soketi замість опитування — сервер сам надсилає зміну, і браузеру не треба нічого вгадувати.
- Приватні канали для кожної ролі й команди, тож авторизація діє й на рівні транспорту, а не лише у вигляді.
- Redis як проміжний шар для подій і кешу читання, щоб PostgreSQL обслуговував записи, а не трафік оновлень.
- Схему веде міграціями Prisma: зміна моделі версіонується разом із кодом, а не клікається в панелі.
03Що це дає зараз
- Зміна стану зʼявляється в усіх, хто має право її бачити, без перезавантаження сторінки.
- Права діють в одному місці — додати роль не означає переглядати кожен екран.
- Усе працює в Docker, тож локальне середовище і продакшен — те саме.
04Чому саме такий стек
Next.js 15 із серверним рендерингом, бо перший екран після входу мав бути готовим одразу. Soketi замість зовнішнього сервісу — операційні дані лишаються на власній інфраструктурі, і немає рахунку за кожне повідомлення.
Маєте проєкт на думці?
Опишіть його кількома реченнями — відповім протягом 24 годин із безкоштовною оцінкою та пропозицією стеку.