JujaLabs / docs

JuJa Platform Docs
4 stars 14 forks source link

Useful Links + bot #86

Open ivshapovalov opened 6 years ago

ivshapovalov commented 6 years ago

Саша как-то обмолвился что можно ввести джуджики за полезные ссылки. Не помню как их там называли, но не суть. Я часто сталкиваюсь, что кто-то кидает полезную ссылку, а как бы ее быстро сохранить и почитать потом. Не заходя в другие приложения, в браузеры, тем более часто в слаке пишу с телефона. Есть плагины, но они дорогие для больших групп. А если добавлять в свою слак группу, то много действий надо совершить чтобы сохранить полезную для меня ссылку на будущее. Возникла идея, как бы сохранять для себя на будущее ссылки где-то прямо из нашего слака. И вспомнил что Саша говорил про джуджики за полезные ссылки для сообщества. Все это объединилось в одну идею.

Useful links + бот + возможно SmartBot Например: Я, как пользователь, хочу сохранить полезную ссылку для себя (вижу только я) Я, как пользователь, хочу сохранить полезную ссылку для сообщества (видят все) Я, как пользователь, хочу получить джуджик(1 links например) за сохранение полезной ссылки по определенной теме. Если эту ссылку посчитают спамом, то джуджики убираются. Я, как пользователь, хочу чтобы линки сохранялись где по темам и через веб я мог посмотреть список (дата, кто, ссылка) по темам (заранее зашиты хранителем или добавляются) Я, как пользователь, хочу удалить ссылку, добавленную мною в личные или в общие ссылки. Если это общие ссылки, то джуджики, полученные за добавление минусуются Я, как хранитель направления, хочу добавлять темы для группировки ссылок Я, как пользователь, хочу выбирать тему для добавляемой ссылки в слаке. Есть в слаке такая фишка. Можно послать команду, тебе придет в выпадающем списке список тем, ты выбираешь, твоя ссылка сохраняется по этой теме как бы. Агрегирование в общем. и т.д.

Примеры команды /links-my-add url сохраняю в базе для себя /links-all-add url сохраняю в общее хранилище /links-all-my вывести список добавленных мною ссылок в общее хранилище /links-my-add вывести моих личных ссылок и т.д. удаления, редактирования и всего что взбредет в голову.

Все ссылки и индивидуальный опять же можем выводить на UI в отдельной закладке. Модерацию осуществляют сами пользователи. Добавим на UI кнопки: Like. Dislike, Spam. Как только кнопку спам нажали N раз - ссылка делается не активной (но остается в монго для статистики). В UI делаем возможность сортировки по Like, Dislike, количеству просмотров (просмотры тоже считаем по кликам на ссылке). Можно также сделать по аналогии с блогами возможность комментировать ссылку. Сохранять комменты в монго в блоке comments ссылки.

По сути сервисы решают задачи: 1) Я получаю хранилище личных ссылок в одном месте 2) Сообщество получает хранилище ссылок, разбитое по темам, отмодерированное, и отранжированное по значимости. 3) Я получаю за это благодарность в виде какого то рейтинга (джуджики)

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

Возможно есть вариант написать к двум сервисам (сервис хранения Links + сервис обработки слак слэш комманд Links-bot) еще умного бота Smart-bot. Будет отлавливать в сообщениях ссылки и спрашивать пользователя, не хочет ли он сохранить эту ссылку для сообщества. Эту тему надо копать. К тому же это может быть навязчиво для пользователей.

Хранение мне видится в монго в нескольких коллекциях: 1) Public links - храним сущность ссылка с полями url, like_count, dislike_count, spam_count, author, type и массивом комментов (как блоги). 2) Private links - храним сущность user с полями uuid и массивом url с датами добавления.

Как-то так.