Учебное руководство
Главы руководства
На этой странице

Учебное руководство

Небольшой проект с настоящим сайтом на Next.js, типизированным API, CMS и фоновыми задачами в контейнерах на одном VPS. Публичное оформление использует название и материалы «Атмановских кулачек».

Руководство описывает код на 2026-10-05. Команды выполняются из корня репозитория, если не указан другой каталог. Изменения SSG/ISR и 404 пока находятся в рабочей версии: локальная проверка не означает, что они уже выложены на стенд. Будущие возможности помечены как упражнения или ограничения.

Порядок чтения

Онлайн-версия: учебное руководство. Устройство публикации описано в отдельной главе.

ГлаваЧто узнаете
Быстрый стартТребования, первый запуск, три режима разработки, первая проверка
АрхитектураРоли приложений, монорепозиторий, зависимости, путь данных
Сайт и MantineApp Router, серверные и клиентские компоненты, статическая сборка, тема
SSG, ISR и 404Генерация HTML, кеш, webhook, новые адреса и проверка обновления
Вход и панелиСессии, русский язык, оформление и сборка панелей
API и контрактыtRPC, Zod, входные данные, HTTP-коды, границы доверия
Фоновые задачиHatchet, события, воркер, повторы, параллельность, доставка
CMS и контентStrapi, повторяемый импорт, Blocks, публикация и фотографии в Garage
Docker и сетьОбразы, Compose, порты, базы, тома, readiness
Настройки и секретыВсе переменные, локальная и production-конфигурации, ротация
GitHub Actions и VPSПодготовка хоста, pipeline, release, digest, откат
ЭксплуатацияДиагностика, резервные копии, восстановление, обновления
ПроверкиTypeScript, Oxlint, Oxfmt, Jest, что именно покрыто
Разбор проблемСимптом → проверка → причина → действие
Ограничения и безопасностьЧто нельзя считать реализованным или гарантированным
ПрактикумУпражнения с критериями результата, от первого изменения до CMS
Словарь и источникиТермины, карта команд и официальные документы

Маршруты обучения

  • Первое знакомство: быстрый старт → архитектура → сайт → практикум, задания 1–3.
  • Backend: API → воркеры → CMS → проверки → практикум, задания 4–7.
  • Развёртывание: инфраструктура → настройки → деплой → эксплуатация → ограничения.

Во время чтения держите открытым исходный файл из раздела «Где смотреть код». Попробуйте сначала предсказать результат команды, затем сравнить его с фактическим. Так проще отличить TypeScript от runtime-валидации, сборку от запуска и доставку события от выполнения задачи.

Главная особенность проекта

Публикация Strapi меняет сайт без пересборки. Страницы генерируются статически; webhook напрямую инвалидирует кеш Next.js, а ISR обновляет HTML.

Для каждого изменения используйте цикл: небольшое изменение → подходящая проверка → отдельный коммит. Не проверяйте сбои и восстановление на публичном VPS, если то же упражнение можно выполнить локально.

S3-хранилище

По запросу пользователя добавлен отдельный Garage-контейнер. Настройка, совместимость provider и резервные копии. План переноса контента учитывает S3, новый слой компонентов и сохранность редакторских правок.

Фактические результаты переноса: отчёт о миграции.

Переиспользуемый UI

UIKit на Mantine и Storybook: базовые компоненты, составные блоки, независимое подключение, CSS-каскад и CMS-адаптеры.

Повторное визуальное сравнение после UIKit: снимки production, проверки и оставшиеся отличия.

Учебный раздел Storybook содержит шесть глав: введение, подключение, тему и стили, композицию, создание stories/docs и практикум. Исходники — packages/ui/src/docs; после pnpm --filter @gheilt/ui storybook главы находятся в разделе «Обучение».