Найти в Дзене
kapi.bar

Запуск альфа-теста Капибара(Новый Старый Пикабу)

Продолжу рассказывать о развитии Капибары, опенсорсном проекте, цели которого воспроизвести лучшее что было на пикабу и не наступить на их же "грабли". Первая часть здесь: https://dzen.ru/media/bar_kapibar/kapibara-novyi-staryi-pikabu-65574b0ff6d9c13af25854f5. Первый официальный пост о прогрессе в разработке на новом сайте здесь: https://www.kapi.bar/post/dnevnik-razrabotki-kapibary-ot-10-xi-2023. Но обо всем по порядку.

Пару недель назад у нас стартанул полу-закрытый альфа-тест. Сейчас выдаём ранний доступ на сайт kapi.bar отважным авторам-альфатестировщикам и активным комментаторам взамен просим слать нам багрепорты и пока быть самим себе модераторами. Функционал для создания постов, комментариев и выставления оценок для них есть. Ленты "Новое", "Тренды", "Топ", "Обсуждаемое" и поиск по тегам уже работают и доступны для чтения всем желающим.

📸 Изображения

Картинки в постах - это так привычно, что кажется само собой разумеющимся. Однако, чтоб добавить возможность загрузки изображений на сайт, команде разработки пришлось знатно потрудиться :)

-2

Для максимальной скорости и эффективности выгрузки изображений из любой точки Земли мы внедрили на сайт CDN - Content Delivery Network. Эта система позволяет оптимизировать загрузку, распределяя ваши картинки по серверам, что минимизирует задержки и ускоряет отображение.

Также была реализована функция проверки размера изображений и их сжатие. Это гарантирует, что слишком большая фотография не заставит сайт лагать или работать медленнее.  Мы понимаем, что такое решение может расстроить фотографов и тех капибаринов, которым важно разглядеть все мельчайшие детали в первозданном виде. Однако покуда наш сайт молод и мал, к сожалению, это наиболее оптимальное решение для обеспечения его работоспособности.

На наш сайт помимо обычных картинок вы можете загружать и гифки (.apng, .gif, .webp) размером до 5 Мб. Каждое загруженное изображение конвертируется на стороне бэкенда в webp для оптимального отображения и снижения нагрузки на инфраструктуру.

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

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

🤖 Бот для Верификации через Telegram.

-3

Для упрощения процесса верификации профилей через Telegram был создан специальный бот. Он позволяет пользователям верифицировать свои аккаунты всего в три клика.

Для бота верификации добавлена поддержка создания Docker-образов в среде GitLab-CI.

Это означает, что процесс развертывания и обновления бота теперь может быть полностью автоматизирован с использованием Docker-контейнеров. Внедрение GitLab-CI обеспечивает непрерывную интеграцию и доставку (CI/CD).

💭 Комментарии

-4

Почти одновременно с началом альфа-теста была завершена разработка дерева комментариев. Мы реализовали сами комментарии а так же систему управления их вложенностью - это значит, что когда ветка уходит вправо на 4 (для телефонов) или 9 уровней (для компьютеров), новые комментарии оказываются снова слева , однако теперь с гиперссылкой на родительский комментарий. Это улучшает визуальное восприятие длинных веток и предотвращает излишнее дробление обсуждения.

Заложен первый камень в защиту сайта от ботов. Была реализована верификация пользователей через телеграм и ограничение на комментирование, голосование и создание постов для тех, кто её не прошёл. Такая система позволит  усложнить жизнь ботоводам, ведь завести 100500 почт намного легче чем 100500 телеграм-аккаунтов. От того, что они у нас массово зарегистрируются, особого вреда не будет, а вот от того, что они будут клепать «нужные» посты, бурстить / топить «нужные» комментарии / посты — вред очевиден
(Если этого не сделать, будет как на Пикабу сейчас)

Для живых, пока еще неверифицированных пользователей, мы реализовали интуитивно понятные всплывающие сообщения о необходимости подтверждения аккаунта при попытках комментирования, голосования или создания постов. Это улучшает пользовательский опыт, предоставляя чёткие инструкции о необходимости верификации для полного доступа к функционалу платформы.

Индикация новых и непрочитанных комментариев. Сейчас ведётся активная работа над системой визуальной индикации, которая будет выделять новые и непрочитанные комментарии в ленте ответов. Это значительно упростит отслеживание активности в дискуссиях и поможет пользователям не упустить важные моменты обсуждения.

🏷️ Теги

Фильтрация по тегам. Разработали ленту постов с поиском по одному или нескольким тегам. В нее можно перейти как с бокового меню(вкладка «Теги»), так и напрямую из поста кликнув по тегу. В открывшейся вкладке вы можете добавить дополнительные теги по которым будет осуществляться поиск постов.

-5

Пока только на бэкенде, но уже сделали API отдающее список популярных тегов для быстрого выбора тегов на странице поиска по тегам.

Установили лимит в 10 тегов на пост, исключая специальные теги, такие как «Своё», «Авторское»  и «Телеграм». Это предотвращает перегрузку постов избыточным количеством тегов и способствует более точной категоризации контента.

Специализированные Теги «Своё» и «Авторское». Ведётся разработка нового блока в интерфейсе создания поста для выбора этих специальных тегов, включая подсказки, которые объясняют их значение. Тег «Своё» предназначен для контента, созданного пользователем лично или имеющего к нему прямое отношение. Тег «Авторское» применяется к контенту, в который пользователь вложил своё время, старания и творческие усилия

👁️ Лента «Просмотренное»

-6

На бэкенде реализован API для управления и вывода просмотренных постов. Это означает, что теперь у нас есть бэкенд-структура, которая способна обрабатывать и передавать данные о просмотренных пользователями постах. Однако, эта функциональность пока что не интегрирована в пользовательский интерфейс и доступна только на уровне сервера.

Также на бэкенде начата работа над механизмом скрытия просмотренных постов из ленты. Эта функция также пока не реализована, но находится в активной разработке

🔥 Лента «Тренды»

За последнее время мы также сделали ленту «Тренды», в которую попадают положительно оцененные пользователями посты.

-7

В данный момент алгоритм выходы в Тренды следующий: рейтинг поста больше 25 и более 80% плюсов. Сортировка в ленте осуществляется на основе двух ключевых параметров: процента положительных оценок и времени публикации поста.

Хотя лента  «Тренды»(как и  «Новое» и «Топ») визуально кажется бесконечной, посты на самом деле подгружаются постранично (пагинация). Это означает, что контент из бэкенда на фронтенд отдаётся не одновременно, а порциями. Введено ограничение в 20 постов на страницу для лент. Это решение позволяет ускорить загрузку контента и снизить нагрузку на базу данных.

Существующий алгоритм сортировки в ленте «Тренды» не является финальным, и мы планируем продолжить экспериментировать для определения наиболее оптимальных критериев сортировки. Как минимум, следующим шагом добавим влияние наличия тегов «Своё» и «Авторское» на упрощение выхода поста в Тренды. После добавления функционала скрытия постов продолжим искать наилучший алгоритм.

🖋️ Редактор постов

-8

-9

Добавлено ограничение по количеству символов в заголовках постов на Капибаре. Это необходимо для более красивых URL-адресов и менее загруженного внешнего вида сайта.

Ещё теперь можно загружать видео, правда пока что только с YouTube и Coub. В ближайшем будущем возможно расширение функционала возможностью добавления видео с других платформ, например из ВКонтакта. К сожалению, прямая загрузка видео на сайт пока невозможна ввиду ограниченного бюджета проекта. т. к. стоимость хранения и обработки зависит в том числе от количества просмотров.

👤 Профиль пользователя

Наконец-то можно поставить свою аватарку! Также близится к своему завершению доработка функции «О себе» - вы сможете написать какую-то фразу в своём профиле, которая будет видна остальным пользователям… Вернее, написать вы можете уже сейчас, просто пока что информация не сохранится. Но это скоро починим

-10

Помимо этого, была исправлена ошибка 404, которая возникала при попытке доступа к страницам профилей пользователей.

И, наконец, важное изменение в создании профиля - нами была введена проверка на уникальность имени пользователя, игнорирующая регистр букв. Это означает, что имена типа "kapibar" и "KaPiBaR" теперь считаются идентичными с точки зрения системы.

🔨 Прочие Улучшения

  • Вёрстка. Исправлена вёрстка для обеспечения корректного отображения сайта на экранах с шириной 800 пикселей.
  • Были отрисованы новая иконка сайта и аватар по-умолчанию, спрототипированы страницы для удалённых по разным причинам постов.
-11
  • Внедрено ограничение на количество запросов на логин, сброс пароля и регистрацию на уровне API. Эта мера безопасности направлена на борьбу с DDoS-атаками и другими видами злоупотреблений, повышая стабильность и безопасность платформы.
  • Определение темы. Теперь сайт автоматически подхватывает тему, установленную на устройстве.
  • Проведена работа по исправлению ошибок в русском языке на различных страницах сайта. Граммар-наци ликуют.

Устранено более 150 мелких и значительных ошибок, обнаруженных отважными авторам - альфа-тестировщиками и сообщенных через систему репортов.

🪲 Баги.

-12

Первых авторов мы решили немного научить в тестирование и выдать им инструмент для отправки багрепортов. Реализовали через телеграм-бота, который принимает сообщение+медиа, валидирует и отправляет их в сервисный телеграм-канал. Первые пользователи его освоили, помогали друг другу с формулированием багрепортов. На прошлой неделе мы прикрутили интеграцию телеграм бота с кликапом(используемый нами таск-трекер), теперь багрепорт от пользователя преобразуется сразу в таску в специальном разделе, откуда в дальнейшем их сортируем и обрабатываем.

И так же есть понимание что пользователи хотят видеть обратную связь со стороны разработчиков что их баги приняты, взяты в обработку или исправлены. Первое время решали это через ручную пересылку в топик "Пофикшенные баги".

Часто мелкие баги быстрее исправить «налету», чем добавлять в таски, описывать, пересылать и уведомлять. И поэтому сейчас мы работаем над автоматизацией, чтобы каждый найденный вами баг не остался без обратной связи от команды.

И прямо сейчас работаем над обратным процессом. Т. е., когда задача отмечается как выполненная, будет отправляться уведомление обратно в Телеграм с обновлённым статусом.Также есть баг-репорты, которые не являются багами. Например, когда проблема не на сайте, а в куках пользователя. В таких случаях разработчик будет писать комментарий к задаче с инструкцией, что нужно сделать, чтобы проблема прошла, а бот будет отправлять этот комментарий пользователю.

🙏 Огромная Благодарность нашим Авторам-Альфа-Тестировщикам!

Мы не можем упустить возможность выразить нашу глубокую благодарность всем альфа-тестировщикам, которые помогли нам обнаружить и устранить баги на нашей платформе. Ваша обратная связь была неоценимой, и мы благодарны за каждый отправленный вами баг-репорт!

-13

🌟 Особая Благодарность Десяти Самым Активным Тестировщикам:

NoAdO – 66 баг-репортов
Wtagn25 – 38 баг-репортов
DrMegabyte – 29 баг-репортов
vita – 28 баг-репортов
vervolph – 24 баг-репортов
Sergej_Serov – 22 баг-репортов
mik_s1d – 19 баг-репортов
Archi – 18 баг-репортов
jewellerpotato – 17 баг-репортов
Eisenporn – 16 баг-репортов

🌍 Благодарим всех остальных альфа-тестировщиков отправивших нам репорты об обнаруженных багах:

Blood, Yarilo23, Rofs, UglyElf, gambitushka, userfortest, ZenitTTLMir1B, Xrenotik, LinDess, Marta, Lazolvo, olvik, Innokenti4, uk_kate24, Dnocompany, Unionsquare, L0z4, Kvasnik, Xena, rammdarkfunny, Tiamin, Jugabut, Dr.Hannibal, BulkaSmaslow, Kyrillbeisel, KonstantyPL, findeler, aice4, gulyashbezpiva, appossumoid, FreeDaSw, Wesker, alexvektor, Dildiy, Cloud, oriaraniar, BabudaiAga, VODKA5665, WandWanderer, PaulHirsch, Hokum62, Nojnichki, Bespiril, indie_dev_01, Beer3erk, BeerFather, dones, stormspeller, prmn, ITMan96, Custom_KseniEv, loonyloon, Darti163, nameless.second, Shady311, Pilirom, veterinar, lenanexman, socialware, zzaec, kritbis, kusokcheloveka, statusspb, Bowjob, ctulhu31, SergeyRY, R.Melvin, Kitsu-NeshKaa, Rilwing, Ahremkin, ibraman, Marb.Ivanna, SexFox, camelos, HugReed, Hippopocat, Chaika312, hunterpo, Exfaded, SIGILLITE, chief, tanur_orican, gelevaya, ally_me, Natt, Hegny, shaehl, EpicMorg, Vojdelenec, margent, timur_bv, CircusBirdEli, Aragorn, Phyros, HARDiNA, Kisati, SarcasticImp, Akyndro, V27S, ivanisenko, LeSpectateur, lostseaman, No_Name, Bertolucci, vladonlink, OldKatso, Vanok, derBeobachter, Born_Sesh.

Записаться на альфа-тест: https://t.me/new_old_pikabu/548368/548369

Помочь в разработке проекта: https://t.me/new_old_pikabu/2680/631553

Репозиторий проекта: https://gitlab.com/vortex185330/

Основной сайт: https://www.kapi.bar/

Еще много всего предстоит сделать, но уже есть что посмотреть и пощупать