Skip to content

bmstu-iu8-g4-2020-project/todo_web_service

Repository files navigation

Разработка веб-сервиса по планировке пользовательских задач

GoPostgresDockerTravisCI

Build Status Go Report Card

Telegram

Задание:


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


Архитектура проекта

Project Architecture

Конечный автомат для состояний пользователей

Пакет telegram-bot-api для работы с ботом «из коробки» не предоставлял возможность выстраивать цепочки сообщений с пользователями, из-за чего пришлось хранить состояния пользователей в виде уникальных кодов на каждое состояние, а переходы между ними осуществлять в виде абстрактной модели конечного автомата. Все состояния сохраняются в базе данных для каждого пользователя, таким образом падение сервера или перезапуск бота не приводит к потере состояния для пользователя.

FMS

Основные команды

Bot and commands

Copyright 2020 aaaaaaaalesha 

About

Разработка веб-сервиса по планировке пользовательских задач.

Topics

Resources

License

Stars

Watchers

Forks