Skip to content

Latest commit

 

History

History
78 lines (67 loc) · 4.18 KB

File metadata and controls

78 lines (67 loc) · 4.18 KB

План разработки

Дедлайн 9 февраля 2026 (включительно)

Необходимо сделать

Тех-Задание:

  1. Реализовать хранение пользователей в дб, хеширование пароля
  2. Реализовать хранение банка задач в дб
  3. Реализовать генерацию вариаций задачи с помощью ИИ(будет использован ИИ)
  4. Реализовать возможность свободного решения задач
  5. Реализовать возможность соревновательного режима PvP, Elo-рейтинг R=1000, K=32
  6. Реализовать отображение информации о скорости решения, коэффициенте правильных ответов и прогрессе
  7. Реализовать импорт и экспорт задач в csv

Требования:

  1. Включить в README краткое описание проекта
  2. Инструкцию по развертыванию, установке
  3. Видеоролик с показом продукта

Я считаю надо реализовать:

  1. CL/CD - автоматическую загрузку релиза из репозитория на сервер

Flask:

Целевая структура проекта

# == Главная
'https://nerdfight.ibashlhr.beget.tech'  # главная страница
"""Отображаются:
- Последние загруженные на сайт задачи
- Кнопка регистрации
- Логотип сайта
- Краткое описание сайта
- Ссылка на github
- Ссылка на документацию"""

# == Регистрация
'https://nerdfight.ibashlhr.beget.tech/login'  # вход
'https://nerdfight.ibashlhr.beget.tech/signup'  # регистрация
'https://nerdfight.ibashlhr.beget.tech/logout'  # выход

# == Пользователи
'https://nerdfight.ibashlhr.beget.tech/users/<user_id:int>'  # страничка пользователя
"""Отображается:
- имя пользователя
- роль(админ/пользователь)
- скорость решения
- коэффициент правильных ответов
- прогресс"""

# == Админка
'https://nerdfight.ibashlhr.beget.tech/admin'  # админ панель
"""Отображается:
- ссылки на редактирование задач, профилей
- кол-во пользователей, задач"""
'https://nerdfight.ibashlhr.beget.tech/admin/problems'  # список задач
'https://nerdfight.ibashlhr.beget.tech/admin/users'  # список пользователей
'https://nerdfight.ibashlhr.beget.tech/admin/users/<user_id>'  # редактирование пользователя
'https://nerdfight.ibashlhr.beget.tech/admin/problems/<problem_id>'  # редактирование задачи

# == Решение задачи
'https://nerdfight.ibashlhr.beget.tech/problems' # список задач
'https://nerdfight.ibashlhr.beget.tech/problems/<problem_id>' # задача

# == PvP клиент
'https://nerdfight.ibashlhr.beget.tech/fight' # сражение

Дизайн:

У сайта будет пиксельный дизайн, с немножко олдскульным стилем.

База Данных:

Мы будем использовать SQLite, если будет досуг переключимся на OracleDB - у нее хорошие возможности асинхронной работы(для сражений). Из плюсов SQLite легка в настройке, легко поддерживается в качестве довода можно привести сжатые сроки.

Распределение задач:

  • Написать стили css и html(Даниил)
  • Сделать админ-панель
  • Сделать главную страницу(Даниил)
  • Написать PvP-клиент(Даниил)
  • Реализовать регистрацию(Даниил)