Кейс · Webko

PEV Deals: платформа скидок на Angular и Spring Boot

PEV Deals — многоязычный каталог скидок на электромоноколёса, электровелосипеды и электросамокаты. Webko делает и ведёт все три его части: Angular-витрину с пререндерингом, админ-панель на Angular и Spring Boot API на PostgreSQL.

Проект
Платформа скидок и промокодов на персональный электротранспорт (EUC, электровелосипеды, электросамокаты, моноколёса, электроскейтборды)
Наша роль
Полный цикл от дизайна в Figma до продакшна: витрина, админ-панель, API, деплой
Объём
Три приложения: публичная витрина, админ-панель, серверная часть на Spring Boot
Основной стек
Angular 22, Java 25, Spring Boot 4, PostgreSQL 17
Языки
6 языков, предложения и валюта по регионам
Старт
май 2026, работает в продакшне и развивается

Открыть pevdeals.com →

Задача

PEV Deals помогает райдерам находить проверенные скидки на электромоноколёса, электровелосипеды, электросамокаты и электроскейтборды. Бизнесу нужен быстрый каталог, понятный поисковым системам, работающий на нескольких языках и в разных регионах, и бэк-офис, в котором команда сама управляет предложениями, продавцами, статьями и переводами без разработчика.

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

Что мы делаем

Angular-витрина с пререндерингом

Angular 22 на standalone-компонентах и сигналах, без zone.js. Продакшн-сборка пререндерит каждый маршрут в статический HTML и гидрирует его постепенно (блоки ниже первого экрана грузятся через @defer), поэтому поисковые роботы и новые посетители сразу получают контент.

Каталог, состояние которого хранится в URL

Фильтры по категории, бренду, цене, весу, скорости, запасу хода, продавцу и рейтингу, сортировка и поиск с синонимами — это состояние URL, поэтому любым отфильтрованным видом можно поделиться ссылкой. Данные приходят через httpResource в зависимости от выбранного региона и языка.

Регионы, шесть языков и техническое SEO

Маршруты с языковым префиксом, предложения и валюта по регионам, теги hreflang и canonical, JSON-LD, sitemap с датами lastmod из API и 301-редирект со старого домена pevdeals.eu. Страница получает noindex только тогда, когда API подтверждает, что записи больше нет, а не из-за неудавшегося запроса.

Spring Boot API с двумя поверхностями

Java 25 и Spring Boot 4 на PostgreSQL 17: защищённая админская поверхность и публичная поверхность для сайта, аутентификация на сессиях, любые изменения схемы — через миграции Liquibase, изображения в Cloudinary, письма через Mailgun.

Админ-панель с переводом при помощи ИИ

Отдельная Angular-панель (Signal Forms, Angular Material) для предложений, товаров, продавцов, статей, FAQ, запросов на скидки и модерации отзывов. Переводы контента хранятся по полям и языкам, статьи и записи FAQ можно переводить через Anthropic API; длинный текст статей переводится вручную.

Управление контентом из чат-клиента

Серверная часть предоставляет MCP-сервер, поэтому контентом можно управлять из чат-клиента. Удаление через него недоступно, а каждое изменение, сделанное таким способом, попадает в журнал аудита.

Логика рейтинга на сервере

Каждое предложение получает внутренний рейтинг от 3,0 до 5,0, который считается на сервере и пересчитывается после каждого изменения и при старте, поэтому оценка никогда не зависит от браузера.

Витрина

Главная страница PEV Deals с выбранным предложением и карточками категорий
Главная: актуальные предложения и карточки категорий.
Каталог PEV Deals с фильтрами по категории, бренду, цене, весу, скорости и запасу хода
Каталог с фильтрами в URL, сортировкой и поиском.
Страница товара PEV Deals с характеристиками, ценой и кнопкой получения промокода
Страница товара: характеристики, цена по региону и запрос промокода.
Блог PEV Deals с обзорами, руководствами и статьями о безопасности
Блог: обзоры, руководства и статьи о безопасности.

Технологии

Витрина
Angular 22 (standalone, zoneless, сигналы, OnPush), httpResource, NgOptimizedImage, SSR-пререндеринг
Админ-панель
Angular 22, Signal Forms, Angular Material, Vitest с порогами покрытия
Серверная часть
Java 25, Spring Boot 4, Spring Data JPA, Spring Security (сессии), springdoc OpenAPI
Данные и медиа
PostgreSQL 17, Liquibase, Cloudinary, Mailgun
ИИ и эксплуатация
Anthropic API (перевод), MCP-сервер, Sentry, Heroku
Качество
Vitest, angular-eslint, Checkstyle, PMD, SpotBugs

Результат

  • 78 активных предложений от 14 брендов — в каталоге с поиском и фильтрами на шести языках.
  • 68 промокодов выдано 47 клиентам — средняя скидка составляет 21 %.
  • Вся цепочка у одной команды — от схемы базы данных до витрины, поэтому правка предложения, перевода или фильтра выходит без передачи между исполнителями.
  • Проверка при каждом изменении — 187 unit-тестов в витрине, lint-правила, запрещающие устаревшие API Angular, и статический анализ в Java-сборке.

Цифры взяты со страницы «О нас» на сайте и из документации проекта, по состоянию на 15 октября 2026 года.

Другие кейсы

  • Terasa28 — Сайт аренды апартаментов у моря с аккаунтом гостя, календарём бронирования и админ-панелью для подтверждения заявок.
  • Intela — Переиспользуемые компоненты Angular, бизнес-логика модулей и страницы отчётов для портала управления налогами в международной корпорации.

Все проекты

Планируете похожую платформу?

Опишите задачу в нескольких строках, и мы ответим оценкой и предложением, как начать.

Связаться с Webko