Fullstack: FastAPI + React (Dashboard с авторизацией через Telegram)
Всем привет, ищу бэкэнд разработчика на разовую задачу Python (FastAPI) и доработка frontend (React + Vite). Проект уже частично реализован (frontend запущен), нужно доделать и интегрировать, тз ниже
Разработка backend-части на Python (FastAPI) для frontend-приложения (dashboard vpn), а также небольшая доработка frontend'а (React, Vite).
Backend (Python + FastAPI)
Технологии: FastAPI, SQLAlchemy (async), MySQL (aiomysql), OAuth через Telegram Mini App
Задачи:
1. Аутентификация
- Принимать initData от Telegram WebApp
- Проверять user_id по whitelisted списку (из БД)
- Возвращать JWT или просто user-info (опционально)
2. API-эндпоинты
- GET /bots: вернуть список ботов, доступных пользователю по user_id
- GET /dashboard/{bot_id}: вернуть метрики по выбранному боту (доход, приход, команды и т.д.)
- Убрать из ответа ненужные графики (обсуждается во фронте)
- GET /metrics/{bot_id}/summary: сводка по дням / периодам (опционально)
- (опционально) POST /logs: логировать действия пользователя в системе
3. Модель данных
- Таблицы: users, bots, stats, payments, metrics, admins (по текущей схеме)
- Связи: admin.user_id ↔ bot.owner_id, stats.bot_id, payments.bot_id и т.п.
Frontend (React + Vite)
Задачи:
1. Добавить выбор бота
Компонент "Dropdown" или "List", в шапке или в левой панели
По выбору — загрузка новой аналитики через bot_id
2. Удалить ненужные графики
Удалить (или скрыть) ненужные карточки/чарты, по согласованию (например: "Команды", "Юзерчарт" и т.п.)
3. Интеграция с новым API
Получать список ботов и данные по выбранному боту
Авторизация через Telegram initData
Ожидаемый результат:
Готовый API с документацией Swagger
Отрефакторенный frontend с выбором бота и обновляемыми графиками
Авторизация Telegram WebApp
Данные подтягиваются из MySQL
Примечания:
Код пишем чисто, соблюдая PEP8 / ESLint
Этапы тестируются отдельно (frontend/backend)
Возможность масштабирования под новых админов/ботов
Заявки фрилансеров

