Skip to content

QueenArizona/Chaos-Organizer

Repository files navigation

Chaos Organizer.

Ссылка на опубликованный проект.

Cсылка на сервер.

Build status

Основная задача проекта - создать бота, который предназначен как для хранения информации, так и для поиска и взаимодействия с другими сервисами. Пользователь закидывает туда всю информацию, которая ему нужна, а бот сортирует, обеспечивает поиск, хранение и отклик. В качестве прототипов для реализации предлагается взять функциональность Telegram, WhatsApp, Slack или подобных мессенджеров, только вместо живого собеседника будет бот.

Реализованные функции:

  • Сохранение в истории ссылок и текстовых сообщений
  • Ссылки (то, что начинается с http:// или https://) кликабельны и отображаются как ссылки
  • Сохранение в истории изображений и файлов - через Drag & Drop и через иконку загрузки
  • Скачивание файлов на компьютер пользователя
  • Ленивая подгрузка: сначала подгружаются последние 10 сообщений, при прокрутке вверх подгружаются следующие 10 и т.д.
  • Запись видео и аудио средствами браузера
  • Отправка геолокации (реализована форма добавления координат вручную при отсутствии возможности определить местоположение автоматически)
  • Воспроизведение видео/аудио
  • Отправка команд боту, например: @chaos: погода, бот отвечает рандомный прогноз погоды (имитация взаимодействия со сторонними сервисами)
  • Закрепление (pin) сообщений, сообщение прикрепляется к верхней части страницы (можно прикреплять только одно сообщение)
  • Добавление сообщения в избранное (также реализован интерфейс для просмотра избранного)
  • Просмотр вложений по категориям, например: аудио, видео, изображения, другие файлы
  • Поддержка оформления кода при отправке сообщения в бэктиках
  • Отображение пользователю всплывающих подсказок при ошибках, которые могут возникнуть при отсутствии в браузере необходимых инструментов или разрешений на их использование

Для установки зависимостей и запуска проекта локально используются команды:

$ npm install
$ npm run start

Документация собирается при помощи JSDoc:

$ npm run doc

Releases

No releases published

Packages

No packages published