web·area
Все работы
КейсNext.js 16Fastify 5MariaDBRU / EN

ModoCheats

Магазин приватного игрового софта с нуля: витрина, API и админка — три отдельных приложения, каждое деплоится само по себе.

Клиент
ModoCheats
Тип
Магазин цифровых товаров
Что сделали
Дизайн, витрина, API, админка, деплой
Год
2026
modocheats.com
ModoCheats — первый экран главной
0
отдельных приложения
витрина · API · админка
0K+
строк TypeScript
фронт, бэк и админка
0+
эндпоинтов API
публичные и админские
0
разделов админки
и дашборд с выручкой
01Задача

Нужен был большой магазин с нуля. Каталог на несколько игр, тарифы на разные сроки, выдача ключа сразу после оплаты, отзывы, статусы продуктов и поддержка — на русском и английском.

Плюс полноценная админка: владелец сам ведёт каталог, загружает ключи, запускает промокоды и смотрит выручку, не трогая код.

02Решение

Разделили систему на три приложения с чёткими границами. Витрина отдаёт статические страницы и обновляется сразу после правок, API хранит данные и правила, админка работает только через API. Каждое приложение собирается и выкатывается отдельно.

Витрина:3000

Next.js 16, next-intl, ISR, Tailwind 4, motion

API:4000

Fastify 5, MariaDB, миграции, сессии, CSRF

Админка:3001

Next.js 16, server actions, Ctrl+K

03Архитектура


Браузер никогда не обращается к базе напрямую. Витрина проксирует /api/* на бэкенд, а после любой правки в админке бэкенд сам просит витрину сбросить кэш нужных страниц.

Браузер
покупатель / админ
↓ открывает
Витрина:3000
Next.js 16 · ISR · ru/en
Админка:3001
Next.js 16 · server actions
↓ /api/* и admin API
API:4000
Fastify 5 · TypeScript
↓ SQL
MariaDB
миграции · GET_LOCK
API → витрина: revalidate сразу после правок
04Экран


Первый экран сразу говорит, что это за магазин, и показывает продукт в деле: HUD с ESP-боксами, радаром и настройками. Ниже — популярные продукты, игры, отзывы, шаги покупки и FAQ.

  • Живой статус «все продукты работают»
  • Счётчики клиентов, рейтинга и аптайма
  • Выпадающее меню игр с обложками
modocheats.com
ModoCheats — главная страница целиком
Наведите, чтобы пролистать ↓Нажмите, чтобы пролистать ↓
05Экран


Фильтр по игре, поиск по функциям, переключатель «только Undetected» и сортировка — в одной панели. На карточке сразу видны статус, функции, цена «от», рейтинг и число продаж.

modocheats.com/catalog
ModoCheats — Фильтр: Rust
06Экран


Командная палитра, как в IDE: игры, продукты и функции в одном окне, управление с клавиатуры, популярное — ещё до начала ввода.

  • Поиск по названию, игре и функциям
  • Статус и цена прямо в выдаче
  • Работает и на телефоне
modocheats.com
ModoCheats — Палитра
07Экран


Выбор срока с выгодой в процентах и ценой за день, гарантии рядом с кнопкой покупки, вкладки с функциями, требованиями и инструкцией.

modocheats.com/games/cs2/modo-prime
ModoCheats — Первый экран
08Экран


Оформление в модальном окне без перезагрузок: форма, промокод, оплата и ключ. Итоговую цену всегда считает сервер, ключ показывается сразу и приходит на почту.

  • Промокод сразу пересчитывает цену
  • Ключ копируется в один клик
  • Инструкция по запуску — сразу после оплаты
modocheats.com/games/cs2/modo-prime
Оформление заказа — Форма
10Мобильная версия


Мобильную версию проектировали отдельно, а не ужимали десктоп: своё меню, поиск и карточки под палец. Наведите или нажмите на экран — страница пролистается.

ModoCheats — мобильная версия, главная
Главная
ModoCheats — мобильная версия, меню
Меню
ModoCheats — мобильная версия, продукт
Продукт

Листайте вбок · нажмите на экран, чтобы пролистать

09Экран


Русская версия — без префикса, английская — под /en, у каждой свои canonical и hreflang. Валюта переключается между ₽ и $ в шапке.

modocheats.com · /en
ModoCheats — английская версия
ModoCheats — русская версия
⇆
RUEN

Потяните разделитель — RU слева, EN справа

11Админ-панель


Отдельное приложение на своём поддомене. Продукт собирается в конструкторе с живым превью карточки, изменения сразу видны на витрине. Для частой работы есть горячие клавиши.

Ctrl Kбыстрый переходCtrl Sсохранить/поиск в спискеEscзакрыть панель
01
Дашборд
Сводка по заказам и выручке
02
Финансы
Любой период, график, разрезы, CSV
03
Заказы
Оплата, выдача ключа, отмена
04
Продукты
Конструктор тарифов и функций
05
Игры
Обложки, порядок, статусы
06
Ключи
Импорт списком или .txt, проверка дублей
07
Промокоды
Скидки, лимиты, включение
08
Отзывы
Модерация и ручное добавление
09
Аккаунты
Отдельная витрина аккаунтов
10
Драйверы
Файлы и версии для загрузки
11
Инструкции
RU/EN, открытые и закрытые
12
Пользователи
Роли, блокировки
13
Настройки
Контакты, валюты, тексты
12Под капотом


ISR и вебхук ревалидации

Страницы статические и быстрые, а после правки в админке или новой продажи кэш сбрасывается сразу.

Миграции без простоя

Схема обновляется при старте под GET_LOCK, поэтому несколько инстансов могут подниматься одновременно.

Защита по умолчанию

httpOnly-сессии, Secure-cookie, проверка Origin против CSRF, роли и отдельный ключ для админского API.

Снимки каталога

Весь контент из админки выгружается в JSON и переносится на сервер одной командой, без личных данных.

Обновления без сбоев у открытых вкладок

deploymentId берётся из хэша коммита: открытые вкладки сами переходят на новую версию, старый и новый код не смешиваются.

Типизированные переводы

next-intl: русский без префикса, английский под /en, ключи переводов проверяет TypeScript.

13Все страницы


Нажмите на страницу, чтобы открыть её целиком. Стрелки ← → листают.

* Скриншоты демо-стенда: цены, отзывы и ключи на них — демонстрационные данные.

Стек
Next.js 16React 19TypeScriptTailwind CSS 4motionnext-intlFastify 5Node.js 22MariaDBmysql2Server ActionsISR
Открыть сайт
Следующий проект
WizeCheats
Магазин на 79 игр с админкой и накопительной скидкой
Новый проект


Магазин, SaaS или лендинг — спроектируем, соберём и запустим. С админкой, в которой удобно работать.