.vscode | ||
src | ||
.gitignore | ||
docker-compose.yaml | ||
docker-compose.yaml-distribution | ||
Dockerfile | ||
prepare-install.sh | ||
README.md | ||
requirements.txt | ||
version |
JeDoIst клиент
Что это?
- это клиент для телеграм-бота JeDoIst
Зачем вам это?
- JeDoIst - это автоматизатор входящей очереди задач
Не так давно я прочитал книгу Максима Дорофеева "Джедайские техники", данный проект основан на идеях, описанных в данной книге.
Какие идеи?
- каждый человек работает с задачами
- чтобы быть успешным, нужно правильно работать со своими задачами
- очередь входящий задач должна быть одна: должно быть одно место, куда складываются все входящие задачи
- работа заключается в постоянной проработке и декомпозиции этой очереди по правилам, описанным в книге, по принципу "для того, чтобы обезьянке стало проще выполнять"
Улучшения
- часто идеи приходят в совершенно неподходящee для записывания "от руки" время
- хочется иметь инструмент, который послужит входящей очередью, в которую можно буквально надиктовать задачу
- но очередь задач должна быть одна, поэтому...
- голосовые записи должны быть расшифрованы и сложены в единую очередь
Поэтому
- JeDoIst является этой входящей очередью, в которую можно "надиктовать" свою идею или задачу
- он бережно расшифрует голосовое сообщение и передаст его в callback-е на любой удаленный сервер
- с одним ограничением: протокол диктует JeDoIst, и должна быть авторизация
И поэтому...
- этот репозиторий предназначен для быстрого развертывания веб-сервера, в который будут отправляться ваши задачи
Но!
- Вопрос: но где же опубликовать этот веб-сервер?
- Ответ: на любом VPS
- Вопрос: как сохраняются задачи?
- Ответ: в одном файле в формате Markdown
- Вопрос: файл на сервере, я работаю на ноутбуке - где логика?
- Ответ: есть Syncthing, который позволит синхронизировать файл с задачми на сервере и на ноутбуке. И на смартфоне.
Инструкция установки и настройки
Что понадобится
В минимальной комплектации понадобится:
- VPS - арендуйте где-нибудь сервер (не хостинг). Проверенные варианты: Mail.Ru Group, Yandex
- git - установите на сервер
- Docker - куда без него?
- docker-compose - с этим проще деплоить
Как собрать
git clone https://gitea.bvn13.me/bvn13/jedoist-client.git
bash prepare-install.sh
Настройка запуска
- Настройка осуществляется установкой переменных окружения при старте
- TODO_PATH - каталог (локальный), где хранится файл с заданиями
- TODO_FILE - имя файла с заданиями
- Формат файла с заданиями такой: это MarkDown с жесткой структурой
# ToDo
- [ ] task 1
- [ ] task 2
сервис при добавлении новой задачи ищет строку # ToDo
, после этого отступает одну пустую строку и добавляет задачу в формате MarkDown checked action. Советую ознакомиться с форматом MarkDown, потому что полезно.
- Третья важная переменная окружения
- TOKEN - это тот авторизационный токен, который будет необходимо сообщить боту JeDoIst при добавлении себе списка задач.
Запуск
Запуск осуществляется стандартным путем, с помощью docker-compose
:
> TODO_PATH=/path/to/dir \
TODO_FILE=file.md \
TOKEN=my-secret-token \
docker-compose up -d
Проверка статуса
> docker ps
Контейнер должен быть alive
и не перегружаться.
Как же настроить список задач в боте?
/create_todo_list
- команда добавления списка задач
- имя списка задач - необходимо для того, чтобы после введенной задачи (в диалоге бота в Телеграм) указать, в какой список добавить задачу
callback URL
- это внешний адрес вашего запущенного сервиса (по этой инструкции). Если вы арендовали VPS, то добавьте в ее FireWall порт 8080 для настоящего сервиса, и укажите в диалоге бота адресhttp://YOUR_VPS_IP:8080/create-task
- токен авторизации - тот самый токен, который указан при запуске настоящего сервиса на вашем VPS
Важная информация
- распознавание текста - дело не бесплатное, увы
- но и не дорогое - это плюс! :)
- если вы решите использовать бота, свяжитесь со мной