<p>Требуется разработчик который сможет реализовать веб сайт (личный кабинет) по проверке чистоты криптовалюты.</p><p>Проверка будет осуществляться через партнеров по API, документацию вышлю по запросу.</p><p>В личном кабинете будет функционал внесения средств, непосредственно проверки, история проверок и базовые операции типа регистрации, смены пароля, тикетов итд.</p><p>Основные тех требования:</p><p>-на фронтенд можно использовать React, Vue, Next.js или что-то простое типа Bootstrap + HTML;</p><p>-итерфейс для авторизации и регистрации (в том числе по инвайту), пополнения баланса и запуска проверок;</p><p>-на бэкэнд можно node.js (Express.js или Next.js), Python (FastAPI/Django ) или PHP(laravel) отвечат за работу с телеграм ботом</p><p>-по БД PostgreSQL. Можно Redis, чтобы в оперативке висела, но нужна хорошая машина. Как вариант - mongoDB. Но и nosql сойдет;</p><p>-по авторизации и админке всё, как и везде стандартно jwt или сессии для авторизации, роли админ/юзер. В самой админке список пользователей, баланс (текущий и за всё время), история платежей, полная история взаимодействия с ботом;</p><p>-пополнение баланса. Необходимо подключить оплату Биткоином, ждем ваши предложения.</p><p>По безопасности:</p><p>-ssl;</p><p>-двухфакторка для админки, лимиты на запросу API, хранение паролей в хэше, логирование и защата от фрода;</p><p>-рейт-лимитинг, а также резервное копирование базы;</p><p>Как всё должно быть устроено при работе с appi:</p><p>1. Подключаемся через ключ api (храним безопасно в переменных окружения)</p><p>2. Бэкенд прокладка, юзеры не должны забирать свой апи-ключ в лоб</p><p>3. Логируем все запросы/ответы для возможных споров и отлова багов</p><p>4. Ограничиваем частоту запросов, чтобы не грохнуть всю систему</p><p>Как выглядит, упрощенно:</p><p>Веб страница, где клиент логинется, пополняет баланс и взаимодействует с ботом через сайт. По окончанию своих действий клиент получает PDF-фаил с полным отчетом.</p><p>Основные действия клиента: баланс и пополнения; история; тикет в администрацию; логаут.</p>