Разработка Liveblogs.space с 9 по 12 октября: изменение профиля, кошелёк и многое другое

12.10.2018 14:55:42

Здравствуйте. Каждый день из перечисленных в заголовке собирался написать пост, но затягивало программирование, и было не до отчётов.

1. Изменение профиля:

  • Позаимствована из Голоса структура json_metadata, а также добавлено кое что новое:

    • Интересы, которые работают, как теги. В общем то, на ленту постов по тегу они и ведут;
    • Больше соцсетей и мессенджеров: дискорд, Вконтакте, facebook, Skype, Instagram и пр.
  • Добавлено это всё в настройках на https://liveblogs.space/profile.html (Заходите и изменяйте, становитесь личностью!);
  • Выведена информация на странице пользователя: "о себе", аватарка и имя - сразу видны, а остальная инфа в новом разделе "Подробная информация о пользователе". Пример: @denis-skripnik (Перейдите по ссылке).

Было много нюансов во время разработки, но описывать их здесь не буду. На профиль ушёл весь день 9 октября.

2. Защита от xss:

@ivanzar обратил на это внимание, за что его благодарю:

  1. Установлен скрипт, который он порекомендовал;
  2. Сделан белый список тегов, а переменная с ним помещена в view.js, дабы на каждой странице не подключать;
  3. Добавлено в течение дня множество тегов, которые в начале упустил.

3. Кошелёк:

  • Выведены балансы: viz, shares, делегированное другим, другими вам, сумма и дата следующего вывода, общая сумма вывода.
  • Добавлены меню действий: пополнить, вывести, перевести, делегировать, создать инвайт-код;
  • До этого создал формы соответствующие этим пунктам;
  • В таблице со списком тех, кому вы делегировали, есть кнопка "отменить делегирование";
  • При запущенном выводе SHARES отображается кнопка отмены;
  • Все действия открываются в модальных (Всплывающих) окнах;
  • Меню действий по умолчанию скрыто - можно раскрыть, кликнув на "(действия)";
  • При переводе можно отметить галочку "Перевести в SHARES" - другой пользователь в этом случае получит токены в SHARES, а не в VIZ;
  • Вы можете сформировать URL платежа. Например, https://liveblogs.space/wallet.html?to=denis-skripnik&memo=платёж
    При этом, если вы укажете "кому" и "заметка", будут заполнены соответствующие поля, а также они будут иметь режим "Только чтение"
    Если вы укажете ещё и amount=5.000, например, то будут недоступны к изменению все 3 поля.
    Вы можете указать любой вариант: с amount и memo, с to и amount, с to и memo, либо какое-то одно поле...
    При загрузке страницы сразу появляется модальное окно перевода средств.
  • Создана история переводов, берётся из get_account_history;
  • В кошелёк добавлена кнопка "Сохранить ключ", которая позволяет это сделать локально. Активный ключ сохраняется в браузере в зашифрованном виде, т.е. безопасно;
  • В переводах, делегировании, выводе SHARES в VIZ, создании инвайт-кода можно кликнуть на кнопку, которая вставит в поле с суммой максимально возможное значение.
  • Пополнение счёта - это пополнение при помощи инвайт-кодов: указываете его, после чего средства поступают в кошелёк!

4. Прочее (Из чата):

  • Удалил лишнюю последнюю запятую в образуемой строке в циклах. А именно, теперь без запятой в конце списков интересов, подписок и подписчиков. Если где ещё найдёте, прошу сказать - уберу лишний символ.
  • @t3 показал своим постом, что можно опубликовать пост с другим процентом кураторских, и он будет виден на liveblogs. Так как это противоречит идеалогии проекта, была сделана фильтрация ещё и по кураторскому проценту;
  • Установил фильтрацию по бенефициарским и кураторским при обращении к посту по прямой ссылке.
    Комментарии решил не фильтровать, так как в приложении liveblogs они не являются экономической единицей. В будущем будет фильтр по аккаунтам, если будут боты рассылать различные свои комментарии.
  • Теперь при указании сначала логина автора поста в бенефициарах, а потом @denis-skripnik, пост тоже виден на liveblogs. Благодаря посту @blackmoon мною эта проблема была замечана;
  • У каждой статической страницы есть title. А у пользователей, постов (show.html) и пр. подгружаются они динамически через javascript код;
  • Внедрена кнопка "Показать ленту постов со всеми интересами пользователя)", отображающая ленту со всеми интересами (тегами) пользователя;
  • Теперь при клике по посту в ленте в адресной строке отображается сразу url поста: show.html?author=login&permlink=post
    Где login - автор, post- пермлинк;
  • После выплаты количество апвотов обнуляется - удалил отображение счётчика, если проголосовавших 0 и выплата прошла. Также переименована фраза "на сумму" в "сумма", чтобы корректно отображалось при отсутствии счётчика апвотов.
  • Добавлена в кошелёк кнопка "Проголосовать", по клику на которую происходит установка голоса за делегата @denis-skripnik, а в будущем - за @viz-tower.

Возможно что упустил, но в чате больше ничего не нахожу.

Планы:

  1. Фильтрация в кошельке переводов на "все", "входящие", "Исходящие".
  2. Обновление балансов без перезагрузки страницы после выполнения действий;

А далее уже не касающееся кошелька:

  • Устранение дублирования постов в рекомендациях и комментариев при ответе;
  • Реализовать упоминания децентрализованно;
  • Разработать страницу "Подписки" со списком подписок и возможностью отписаться. Либо добавить кнопку в таблицу подписок, если страница публичного профиля относится к авторизованному пользователю;
  • Восстановитьь прокрутку ленты при открытии поста,
  • Сделать вывод в show.html списка голосовавших, а также корректный вывод формы голосования;
  • Центр уведомлений: ответы на комментарии и посты, оценки постов, репосты, упоминания;
  • Сделать обновление ленты в Клиенте без перезагрузки страницы;
  • Сделать, чтобы была подгрузка постов, т.е. отображалось > 100 постов в ленте;
  • Интеграция или создание p2p обменника;
  • Создание p2p биржи заказов постов.

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

Всё

Буду рад очень вашему отклику в комментариях, постах и личке.

Ссылки:

  1. Сайт: https://liveblogs.space;
  2. Github, где вы можете посмотреть код, историю разработки или скачать архив с последними изменениями: https://github.com/denis-skripnik/liveblogs.space
  3. Telegram чат приложения (Добро пожаловать!):https://t.me/joinchat/FOUyGBCK8C5nh8uyV63WYg

0
10 голосов
0 SHARES
Оставить комментарий
Комментарии