Giter Site home page Giter Site logo

growme's Introduction

GrowMe

Чат-бот в Telegram, помогающий выращивать растения

Участники

  • Браун Виктория Михайловна ФТ-201
  • Иванова Екатерина Михайловна ФТ-201
  • Салдина Анжелика Сергеевна ФТ-201

Проблема

Начинающие цветоводы/ситифермеры часто забывают, когда нужно полить растение, внести удобрения или изменить степень освещенности. Им не хватает опыта или растений слишком много и не получается уследить за всеми сразу.

Основные сценарии использования

  • Пользователь, недавно купивший себе комнатное растение, хочет, чтобы оно не умерло, для этого чат-бот присылает ему напоминания о необходимости полива;
  • Пользователь, имеющий множество разных растений, хочет не запутаться в разных режимах полива разных растений, для этого чат-бот хранит информацию о всех его растениях и присылает соответствующие уведомления (сегодня полей фикуса Федю и декабриста Кондратия);
  • Пользователь хочет наглядно оценивать и отслеживать рост и развитие своего растения, для этого бот систематически предлагает ему отправлять фотографии своего растения боту, чтобы потом продемонстрировать наглядный результат;

Основные компоненты системы

  • Приложение (Связывает другие компоненты системы)
  • Представление
    • Bot API
    • Модуль взаимодействия с Bot API (Общается с Bot API запросами)
    • Модуль парсинга ответа Телеграма (Преобразует JSON в объект Сообщение, вызывает соответствующие )
    • Модуль формирования ответа пользователю (обратное преобразование, рендеринг сообщений)
  • Модель
  • База данных
  • Модуль взаимодействия с базой данных
  • Таймер

Точки расширения

  • Разные виды статистики (в бд хранится дата появления растения и информация о нём, на основе её можно составить список всех растений с их возрастом, график полива на неделю и т.д.). Подключается в модели и приложении.
  • Работа с разными базами данных. Подключается в модуле взаимодействия с БД, интерфейс (для модуля)
  • Разные виды напоминаний: периодические (например, полив, подкормка и т.д.) и разовые (например, выращивание рассады). Подключается в модели.

Паттерны

  • Одиночка – для работы с БД
  • Строитель – для формирования ответов
  • Посредник – для работы приложения
  • Наблюдатель – связь представления и приложения для отправки уведомлений (представление подписывается)

growme's People

Contributors

colourbright avatar toribraun avatar angyblacwood avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.