Closed begenFys closed 1 year ago
По сути всё описание задачи состоит из обязательных требований и доп. баллов. Нужно добавить что-то существенное в саму задачу. Например можно реализовать конечный автомат для смены состояний бота.
Основная задача: Обновить архитектуру проекта, чтобы сделать поддержку многопользовательского режима у ботов, классы ботов формировать из интерфейса Bot. Идеи реализация многопользовательского режима: Хранить экземпляры логики для каждого пользователя в Hashmap в классе бота Реализовать менеджер состояний бота (конечный автомат) Реализовать клавиатуру для команд
Согласовано
Задача 2 - Обновление архитектуры
Основная задача: Обновить архитектуру проекта, чтобы сделать поддержку многопользовательского режима у ботов, классы ботов формировать из интерфейса Bot. Идеи реализация многопользовательского режима:
Подзадача: Реализация хранения данных в базе данных PostgreSQL, конкретная реализация:
Подзадача со свёздочкой: Деплой через Docker, намётки на CI/CD, конкретная реализация:
Пример диалога:
Б: Привет я DeveloperHelperBot, я могу помочь тебе отточить твои теоретические знания о языке JavaScript. Для того чтобы начать введи /quiz. В ответ на вопрос введи только одно слово Пользователь 1: /quiz Б: Тест по ЯП JavaScript, состоит из 10 вопросов. Как правильно задать наследование одного класса от другого? Пользователь 1: extends Б: Отлично, это правильный ответ! (либо в случае неправильного ответа: Неправильно! Правильный ответ: extends)
Пользователь 2(во время теста Пользователя 1): Ты кто такой?!?!? Б: Я не понимаю вас, посмотреть список доступных комманд можно с помощью /help
Возможные пути расширения функционала