Веб-сервис по подписке под ключ: кабинет, тарифы, приём оплат, админка с 2FA

Ссылка на работу
Задача: продавать доступ к сервису без ручной работы. До автоматизации это переписка, таблицы, ручная выдача доступов и потерянные оплаты. Что сделано: одно приложение, в котором живёт весь цикл клиента — регистрация с подтверждением почты и защитой от ботов, восстановление пароля, управление устройствами и сессиями, уровни подписки с лимитами, два взаимозаменяемых платёжных контура — ЮKassa как рабочий канал и Робокасса под чек НПД, переключение настройкой, с фискальным чеком, подписью запроса и возвратами, обработка платёжного вебхука, экспорт и удаление аккаунта по требованию пользователя, тикеты поддержки, транзакционные письма. Сверху — закрытая админка: обязательная двухфакторная авторизация для администраторов, журнал действий, карточки клиентов, выдача и отзыв подписки, массовая рассылка, резервная копия по кнопке. Объём: 58 серверных маршрутов, 55 страниц, 20 функциональных модулей, 33 файла автотестов (156 проверок). Стек: Next.js 16, React 19, TypeScript, Tailwind CSS 4, ЮKassa, Робокасса, SMTP, TOTP, тесты на встроенном раннере Node (node:test). Это внедрение в моём собственном продукте, а не работа по заказу внешнего клиента. Моя роль: постановка задачи, техническое задание, приёмка и эксплуатация.