-
Notifications
You must be signed in to change notification settings - Fork 1
LOG Template
Так сложилось, что сервисы-викторины задают человеку небольшое количество подготовленных заранее вопросов, но не каждый успевает усвоить необходимый материал: одним хватает двух-трех вопросов, другим мало и десятка. Такими сервисами тяжело пользоваться, для этого необходим ПК и другие "замедляющие" вещи. Кроме того, однотипные вопросы приедаются и человек отвечает больше машинально, бездумно.
Создать такую викторину, которая будет лишена описанных выше проблем.
- Вопросы будут новыми для каждого пользователя сервиса, таким образом пользователь будет осознавать и обдумывать каждый вопрос, в то же время сохраняя для себя интерес продолжать.
- Каждый пользователь будет играть и отвечать на вопросы столько, сколько понадобится, а сервис поймет, когда материал усвоен.
В настоящее время близкий и знакомый пользователям способ общения с сервисами - чат-боты: они дружелюбны, для них не нужно ничего, чего бы не было у человека, только смартфон. К тому же чат-бот в популярном сервисе поддерживает общение хоть круглый день и где угодно: в автобусе, в метро или в скучной очереди. Таким образом, формат чат-бота подойдет для викторины: пользователь легко взаимодействует с ним, не отвлекаясь от других дел, а то, что бот живет в любимом мессенджере, напомнит поиграть.
#TODO: ЗАПОЛНИ!
Решение построено из набора микросервисов, взаимодействующих между собой по некоторому протоколу - в основном HTTP. Это позволяет добиться стабильности, более простой и независимой тестируемости. Кроме того, каждый разработчик получает возможность работать над сервисом независимо, сохраняя лишь внешнее API.
Здесь находится бизнес-логика викторины, построенная согласно DDD:
Внешнее REST API для работы с задачами и уровнями. Построено на фреймворке ASP.NET Core.
Внешнее REST API для работы с викториной и пользователями. Построено на фреймворке ASP.NET Core.
Интерфейс для работы с MongoDB: заданиями, пользователями и другой статистикой.
Построенный на ASP.NET Core webhook-bot для Telegram.
Интерфейс для работы с MongoDB: состояниями пользователей и их аутентификационными данными для Quiz API.
Веб-сервис для редактирования и дизайна уровней викторины. Фронтенд на React JS, бекэнд на ASP.NET Core
TODO: ЗАПОЛНИ!
- Приветственное сообщение
- Обратная связь (вызов посредством команды /feedback)
- Выбор уровня
- Отображение задачи
- Сообщение после прохождение уровня
- Пользователь нажал на кнопку "Пожаловаться на задачу" и сообщил об ошибке:
- После репорта, сообщение прилетает в специальный чат в таком виде:
TODO: ДОБАВЬ СКРИНШОТЫ
Языки, грамматики, распознаватели - А. П. Замятин, А. М. Шур, 2007
Telegram Bots Book @ https://telegrambots.github.io/book/
ASP.NET Core in Action - Andrew Lock, 2018