ПЕРЕД ОТКЛИКОМ РАЗРАБОТЧИКУ ОБЯЗАТЕЛЬНО НЕОБХОДИМО ОЗНАКОМИТСЯ С ПРОЕКТОМ И КОДОМ, ЧТОБЫ ТОЧНО ПОНИМАТЬ ЦЕНУ И СРОКИ ВЫПОЛНЕНИЯ.
Telegram Mini App приложение для прохождения атематических викторин и создания пользовательских викторин на разные тематики. Изначально приложение создавалось для само развлечения и проверки способностей google ai studio.
Исходный код доступен и открыт на гитхаб - https://github.com/valiklavrik13-star/Viktorina1
Так же приложение можно опробовать на серверах гугла - https://ai.studio/apps/drive/1hvMTsIub_US-PnisIx9A2nJonYtQQr9E
Хочу узнать цену доработки проекта до релизного состояния и полноценного запуска на сервере. Приложение должно запускаться и работать как Telegram Mini App.
Бюджеты рассматриваются минимально возможные.
То что хотелось бы дополнительно реализовать в проекте:
- полноценный вход в приложение и аутентификация через телеграм;
- система админов гланый админ/владелец и дополнительные админы;
- возможности админов - назначение/удаление админов (только главный админ), блокирование пользователей, удаление пользовательских викторин (конкретно выбранных викторин/ всех викторин конкретного пользователя), просмотр статистики (количество пользователей, количество новых пользователей за период, количество созданных викторин, количество созданных викторин за период - с разбивкой по внутренним разделам приложения), просмотр пользовательских викторин в режиме редактированная, что бы сразу видеть полностью всю викторину и ее содержание.
- возможность пользователям жаловаться на викторины, описывать их жалобу и отправлять, чтоб эту жалобу и необходимую информацию могли видеть админы через отдельного тг бота для обратной связи. - исправление незначительных багов которые уже опишу отдельно.- так как приложение создавалось через google ai studio, в приложении было зашито функции для Gemini, их нужно убрать.
В сообщениях прошу указывать четкие сроки и цену!
ВСЕ ЧТО НАПИСАНО НИЖЕ - СГЕНЕРИРОВАНО ИИ В ОТВЕТ НА ВОПРОСЫ О ФУНКЦИЯХ ПРОЕКТА И ЕГО ТЕХНИЧЕСКОМ СОСТОЯНИИ.
QuizForge — это многофункциональная веб-платформа для создания и прохождения викторин. Её ключевая особенность — гибридная модель контента:
Пользовательский контент (User-Generated Content): Любой аутентифицированный пользователь может создавать собственные викторины на любую тему, делиться ими и просматривать их статистику.
Автоматически генерируемый контент: Платформа предоставляет множество встроенных мини-игр, в основном на тему кино и сериалов, контент для которых генерируется "на лету" с помощью внешнего API (The Movie Database).
Проект нацелен на широкую аудиторию: от казуальных игроков, желающих проверить свои знания в популярных темах, до "авторов", которые хотят создавать уникальные тесты для своих друзей, подписчиков или сообществ.
2. Архитектура и технологический стек
Проект представляет собой полноценное веб-приложение (Full-Stack) с монолитной архитектурой, где серверная часть обслуживает как API, так и статические файлы клиентской части.
3. Ключевые сущности и модели данных
Система оперирует несколькими основными моделями данных:
Викторина (Quiz):
Содержит название, категорию, теги, список вопросов.
Имеет настройки: приватность (доступ только по ссылке), режим "игры до первой ошибки", общий лимит времени.
Хранит массив пользовательских оценок и вычисляемое среднее значение.
Ведет подробную статистику: общее количество прохождений, ID сыгравших пользователей и детализированную статистику по каждому вопросу.
Вопрос (Question):
Содержит текст, опциональное изображение (в формате base64).
Массив вариантов ответа (от 2 до 6).
Массив индексов правильных ответов (поддерживаются вопросы с несколькими правильными ответами).
Индивидуальный лимит времени.
Опциональное "сообщение-реакция" (фидбэк), которое показывается игроку после ответа (всегда, при правильном или неправильном ответе).
Пользователь (User):
Статистика и рекорды:
QuizStats: Статистика по конкретной викторине (сколько раз сыграли, какой процент правильных ответов на каждый вопрос, какие варианты выбирали чаще).
UserPlayRecord: История прохождений пользователя (какую викторину прошел, когда, с каким счетом).
GameStats: Личные рекорды пользователя в автоматических мини-играх.
Leaderboards: Глобальные таблицы лидеров для автоматических игр, с разделением по жанрам.
Комментарии (Comment):
Позволяет пользователям обсуждать викторины.
Поддерживается древовидная структура (ответы на комментарии) через parentId.
Есть система лайков и дизлайков.
4. Детальный разбор функциональных возможностей
4.1. Создание и управление викторинами
Это одна из центральных функций платформы.
Редактор викторин:
Основные поля: Название, категория (Игры, Фильмы, Сериалы и т.д.), теги.
Управление вопросами:
Добавление и удаление вопросов (лимит от 1 до 20).
Для каждого вопроса: ввод текста, загрузка изображения, управление вариантами ответов (от 2 до 6).
Выбор одного или нескольких правильных ответов.
Установка индивидуального таймера на вопрос.
Настройки викторины:
Приватность: Викторину можно сделать приватной. Она не будет видна в общих списках, доступ к ней будет только по прямой ссылке.
Игра до первой ошибки: Режим "внезапной смерти".
Таймеры: Установка общего лимита времени на всю викторину. Система валидирует, чтобы сумма таймеров вопросов не превышала общий таймер.
Черновики (Drafts):
Система автосохранения прогресса при создании/редактировании викторины.
Черновик привязан к ID пользователя и хранится в localStorage.
При попытке создать новую викторину, если есть черновик, система предлагает продолжить редактирование или удалить его.
4.2. Прохождение викторин
4.3. Автоматические мини-игры (на базе TMDB)
Это уникальная особенность проекта. Игры сгруппированы по категориям "Фильмы" и "Сериалы" и имеют три поджанра: "Все", "Ужасы", "Комедии".
"Угадай по кадру" (MovieQuizPlayer, SeriesQuizPlayer): Классическая игра, где нужно выбрать правильное название фильма/сериала по показанному кадру. Игра идет до первой ошибки.
"Больше или меньше" (MovieRatingGamePlayer, SeriesSeasonRatingGamePlayer): На экране два фильма/сезона сериала. Рейтинг одного известен. Нужно угадать, выше или ниже рейтинг у второго. Игра идет до первой ошибки.
"Угадай режиссера" (DirectorQuizPlayer): Показывается постер и название фильма, нужно выбрать правильного режиссера из нескольких вариантов.
"Угадай год выпуска" (YearQuizPlayer): Аналогично предыдущему, но угадывать нужно год.
"Угадай по актерскому составу" (ActorQuizPlayer, SeriesActorQuizPlayer): Показывается список актеров, нужно угадать фильм/сериал, в котором они снимались.
"Угадай по описанию" (DescriptionQuizPlayer, SeriesDescriptionQuizPlayer): Показывается скрытое описание. Игрок может открывать слова по одному, тратя "бюджет" (в %). Чем раньше угадал, тем лучше результат.
"Рейтинг сезонов" (SeriesSortingGamePlayer): Уникальный режим. Даются постеры всех сезонов одного сериала. Задача — расставить их в правильном порядке от самого высокого рейтинга к самому низкому.
4.4. Социальные функции и взаимодействие
Система комментариев (DiscussionView):
Полноценный раздел обсуждений под каждой викториной.
Поддержка вложенных комментариев (ответов).
Система лайков/дизлайков для каждого комментария.
Оценки и рейтинги: Пользователи могут ставить оценки викторинам, что формирует их средний рейтинг и влияет на сортировку по популярности.
Таблицы лидеров (LeaderboardView):
Для каждой автоматической мини-игры ведется глобальный рейтинг игроков.
Рейтинг можно фильтровать по жанру (Все, Ужасы, Комедии).
Система подсвечивает позицию текущего пользователя в таблице.
Прочее: Функции "Поделиться" (копирует ссылку на викторину) и "Пожаловаться".
4.5. Профиль пользователя и статистика
Профиль (UserProfile):
Общая статистика: Количество пройденных и созданных викторин, средний балл.
История игр: Список последних пройденных викторин с датой и результатом.
Рекорды: Отображение личных лучших результатов во всех автоматических мини-играх.
Успешность по категориям: Визуализация средн