Чат-бот в Telegram, помогающий выращивать растения
- Браун Виктория Михайловна ФТ-201
- Иванова Екатерина Михайловна ФТ-201
- Салдина Анжелика Сергеевна ФТ-201
Начинающие цветоводы/ситифермеры часто забывают, когда нужно полить растение, внести удобрения или изменить степень освещенности. Им не хватает опыта или растений слишком много и не получается уследить за всеми сразу.
- Пользователь, недавно купивший себе комнатное растение, хочет, чтобы оно не умерло, для этого чат-бот присылает ему напоминания о необходимости полива;
- Пользователь, имеющий множество разных растений, хочет не запутаться в разных режимах полива разных растений, для этого чат-бот хранит информацию о всех его растениях и присылает соответствующие уведомления (сегодня полей фикуса Федю и декабриста Кондратия);
- Пользователь хочет наглядно оценивать и отслеживать рост и развитие своего растения, для этого бот систематически предлагает ему отправлять фотографии своего растения боту, чтобы потом продемонстрировать наглядный результат;
- Приложение (Связывает другие компоненты системы)
- Представление
- Bot API
- Модуль взаимодействия с Bot API (Общается с Bot API запросами)
- Модуль парсинга ответа Телеграма (Преобразует JSON в объект Сообщение, вызывает соответствующие )
- Модуль формирования ответа пользователю (обратное преобразование, рендеринг сообщений)
- Модель
- База данных
- Модуль взаимодействия с базой данных
- Таймер
- Разные виды статистики (в бд хранится дата появления растения и информация о нём, на основе её можно составить список всех растений с их возрастом, график полива на неделю и т.д.). Подключается в модели и приложении.
- Работа с разными базами данных. Подключается в модуле взаимодействия с БД, интерфейс (для модуля)
- Разные виды напоминаний: периодические (например, полив, подкормка и т.д.) и разовые (например, выращивание рассады). Подключается в модели.
- Одиночка – для работы с БД
- Строитель – для формирования ответов
- Посредник – для работы приложения
- Наблюдатель – связь представления и приложения для отправки уведомлений (представление подписывается)