zeroday 29d1386dd9 merge: свести ветку визиток из Gitea с локальной работой по лендингу
Две линии разработки разъехались и месяц жили порознь: в Gitea уехали
электронные визитки с QR-кодом, а в рабочей копии на fortress остались шесть
коммитов, которые до репозитория не дошли и, значит, не попали на сайт —
английская версия с переключателем языков, карточка Бонитировки, логотипы
продуктов, реквизиты компании в подвале, убранная кнопка Telegram, имя
директора латиницей. Плюс незакоммиченное бургер-меню.

Что разрешено вручную:

1. Landing.tsx, блок контактов. Столкнулись наша расстановка (почта главной
   кнопкой с подписью из cta_primary, телефон второй) и правка из Gitea,
   переводящая оба контакта с href на onClick, чтобы адрес и номер не лежали
   в разметке и их не собирали боты. Взято и то, и другое: защита от ботов
   сохранена, порядок и оформление наши, адрес почты в подписи не светится.

2. Коллизия номеров миграций: обе стороны завели номер 003. На живой базе
   применены 001, 002 и 003_business_cards, а 003_product_url_and_requisites
   не выполнялась никогда — она и переименована в 004, чтобы раннер (он
   отслеживает миграции по имени файла) отработал её штатно.

3. package-lock пересобран под слитый манифест, а не выбран со стороны.

Проверено: tsc чист, vite build проходит, 118 модулей, 241 КБ.
2026-08-25 22:27:25 +03:00

Умный Байт — лендинг компании

Сайт компании ООО «Умный Байт» (umbyte.ru) с админ-панелью для управления контентом.

Стек

  • Frontend: Vite + React + TypeScript + Tailwind CSS
  • Backend: Node.js + Express + TypeScript
  • БД: PostgreSQL 16
  • Auth: JWT
  • Deploy: Docker + Coolify на fortress.zeroday.su

Структура

umbyte-landing/
├── frontend/   # Публичный лендинг + админка
├── backend/    # REST API
├── db/         # SQL миграции
├── Dockerfile  # production билд (multi-stage)
└── docker-compose.yml  # для локальной разработки

Production deploy

Push в main → Coolify автоматически собирает Dockerfile и деплоит.

Переменные окружения (в Coolify):

  • DB_HOST=postgres-<UUID> — полное имя контейнера БД
  • DB_USER, DB_PASSWORD, DB_NAME
  • JWT_SECRET — случайная строка
  • ADMIN_INITIAL_PASSWORD — пароль первого админа при инициализации
S
Description
Лендинг компании Умный Байт (umbyte.ru) — Vite+React+Express+PG
Readme 519 KiB
Languages
TypeScript 82.7%
CSS 5.9%
JavaScript 5%
HTML 4.7%
Dockerfile 1.7%