Задача
Запустити хостинг для власних і клієнтських проєктів, де замовлення, оплата та керування послугами зрозумілі без дзвінків у підтримку. Сайт має бути швидким, двомовним і зручним на мобільному.
Рішення
Монорепозиторій pnpm і Turborepo з двома сервісами: веб-застосунок на Next.js та API на Hono (Node.js). Схема бази й міграції — Drizzle на MariaDB, авторизація — Better Auth, переклади — next-intl. Білінг, email-шаблони, UI-компоненти та схеми валідації винесено в спільні пакети.
Що зроблено
- Маркетинговий сайт із тарифами NOVA, BOOST, APEX, FAQ, двома мовами (UA/EN), світлою й темною темами.
- Реєстрація, вхід і особистий кабінет: замовлення тарифу та поповнення балансу.
- Оплата карткою через monobank і внутрішній гаманець.
- Транзакційні листи з єдиних шаблонів.
- CI/CD у Gitea: push у main збирає Docker-образи й перезапускає лише застосунки, а міграції запускаються окремим workflow з бекапом бази перед застосуванням.
Результат
Сервіс стабільно працює понад два роки: європейські дата-центри, NVMe-диски, щоденні бекапи. На ньому ми розміщуємо проєкти клієнтів і знаємо інфраструктуру зсередини, а не лише з документації.