Что ожидать от ProstoDiary в 2020 году?

Отправлено 9 дек. 2019 г., 10:12 пользователем Deni Baskovsky   [ обновлено 9 дек. 2019 г., 10:20 ]
В 2019 планировал успеть подготовить рабочую демо сборку. Не получилось. Зато вот список того что уже появилось в 2019 году:
  • Произведен переход на Node 12
  • Начал вести документацию по архитектуре на sketchboard
  • Настроены E2E тесты, которые стали более информативными
  • Настроен Heroku CI (в настоящее время отключен из-за цены)
  • Настроен WebServer (express), который проксирует все обращения, включая телеграм, почту и страницы
  • Произведен полномасштабный рефакторинг проекта. Все стало заметно чище, понятнее, масштабируемее
  • Вся документация содержится на домене https://prosto-diary.gotointeractive.com/ и генерируется jekyll
  • Настроены линтеры, код стал единым по всему проекту
  • Обновлены зависимости package.json. Зависимости стали точнее, пунктов пакета больше и они используются
  • Настроены Git хуки
  • Обновлен stack Heroku
  • Серьезно доработаны комментарии формата JSDoc
  • Произведен мощный рефакторинг БД
  • Добавлены новые сервисы openweather, sendgrid, yandex pdd, google vision, translate, restcountries и другие
  • Добавлен GitLFS. Хранить большую статику теперь можно
  • Добавлена семантическая конвенция Git коммитов
  • Безопасность пакетов обеспечивается Snyk 
  • Настроены новые популярные Dialogflow интенты
  • Изменена лицензия на CPL-1.0
  • Встроено шифрование OpenPGP при работе с ботом через Telegram
  • Настроен Renovate Bot, автоматически следящий за новыми пакетами
  • Переделано все API на JSON-RPC-2.0
  • Сделана генерация API документации в OpenAPI 3.0
  • Настроена basic авторизация
  • Сделана OAuth 2 аутентификация yandex, facebook
  • Бот теперь используют imap протокол и создается персонально при регистрации

На вкусное, план на 2020 год. Этапов несколько:

1) Демо релиз

Kiosk

  • Выложить проект в открытом виде с ботом demo
  • Сделать выгрузку /backup в формате StoryJSON (пока без семантики)

Бот в чатах

  • Поддержать возможность клонировать бота в разных местах, например, в роли админа в чатах
  • Реализация работы бота в https://t.me/qweeto 

2) Публикация манифеста

  • Доработать мантру проекта 
  • Создать манифест gotois

3) Очищенный Core

  • Нынешний монолит страдает от излишней функциональности. Планирую очистить и сделать перенести все лишнее в сторонние ассистенты
  • Выложить core пакет на github package registry

4) Ассистенты

  • Организовать общение с ассистентами посредством почты и вебхуков
  • Сделать OpenID Connect provider для авторизации внешних ассистентов
  • Настроить автоматический forward писем от бота к ассистенту

5) Семантические данные

StoryJSON

  • Каждое сообщение будет иметь свои интернет линк (URI) аналогичный www.wikidata.org/wiki/Q42
  • Каждое сообщение с разрешения пользователя будет иметь возможность дополняться фактами от ассистентов и читаться другими ботами или человеком
  • Такая страница будет отдавать различное содержимое для устройств: html для человека, json для поисковых роботов, sparql для ассистентов

RDF и SPARQL БД

  • Каждое JSON-LD подписывается jsonld-signatures
  • Сообщения хранятся в специальной БД (сценарий anzograph) и появляется возможность их обрабатывать через SPARQL запросы

Что касается меня =) 
  • Задействую аутсорс
  • Создам презентацию чтобы было понятнее что я вообще делаю 🌝
  • А также изучу книжку по онтологии
Comments