Розробка

Typegram — дзен блог-платформа

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

 

Базові можливості:
Публікації, коментарі, вибране, підписки, повідомлення, рейтинги, голосування.

 

Мінімалістичний, текстовий дизайн:

 

Майданчик

 

Є майданчик, на якій можна помацати платформу, без шкоди для мирних жителів: test site.

 

Локалізація

 

Сервіс автоматично розділяє користувачів по мовних категоріях, спрямовуючи, російськомовних користувачів на російський субдомен, а англомовних – на англійський. Поділ по суті реалізовано на рівні контенту. Правда інтерфейс доступний лише англійською. На кожному субдомені своя база даних і свої користувачі, реєстрація не наскрізна (на кожному субдомені своя екосистема, життя зародилося не скрізь, наприклад).

 

 

Оптимізація

 

Для сервісу характерна дуже агресивна оптимізація. Всі завантажені зображення більше 100 кілобайт, тиснуться методом Аткінсона в чорно білі превью, з можливістю перегляду оригіналу, наприклад:

 

Не використовуються великовагові скрипти і стилі, а також зовнішні скрипти, що стежать за поведінкою користувачів. Сайт залишається швидким і зручним на будь-якій платформі в тому числі з відключеним яваскриптом. У перспективі хочеться досягти швидкості завантаження телеграм-каналів.

 

Підписки

 

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

 

 

Повідомлення

 

Також на головній сторінці відображаються повідомлення про нагадування в коментарях, з можливістю переходу:

 

 

Редактор

 

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

 

Система рейтингу

 

На головній сторінці є три секції з дивними назвами:
top mid btm

 

 

Так, я люблю доту (мою собаку звуть Пудж, наприклад). Думаю, що рейтинги це більше про ігрові механіки/мотивації ніж щось серйозно адекватне. Всі статті йдуть фарм рейтинг на мзс) Як нафармят — потраплять в топ. Якщо зіллють мзс — проваляться на дно. Заповітна формула дбайливо вкрадена з ycombinator (новими статтями необхідно менше голосів для потрапляння в топ, ніж старим). Вибачте за таке вільне маніпулювання такий святий для багатьох річчю як рейтинг. Втім рейтингу авторів, як такого, на даний момент немає. Тільки рейтинг статей.

 

Рейтинг статті.

 

+ 5: 1 –

 

У кожного користувача є 10 голосів на добу. Він може витратити їх як плюси, так і мінуси. Як на одну статтю 10 голосів, так і розподілити їх як йому хочеться.
Автор статті бачить як негативні, так і позитивні реакції, роздільно.

 

 

Рейтинг коментарів

 

Коментарі оцінюються тільки позитивно. Не знаю чому, не питайте. Хотілося дати більше можливостей для збору фідбек з різними механіками. За коментар можна віддати лише один голос. У кожного користувача — 10 голосів на коментарі в добу. Один коментар — один голос. Начебто прозоро, але це не точно. Можливо скоро це зміниться.

 

Теги

 

Кожна стаття може мати глобальний тег. Поки тільки один (мене чомусь лякають величезні хмари тегів на всі випадки життя).

 

 

Відкритість

 

Вихідний код проекту відкритий. На гітхабі доступна інструкція по збірці і розгортання власної версії: github

 

Обмеження

 

Це не перший проект з UGC. На жаль, приблизно раз на тиждень прилітають листи щастя від Роскомнагляду/ Хостинг провайдера. Тому я досить нервово реагую на дитяче порно і інший нелегальний контент. Кнопка бан — з’явилася однією з перших( Чомусь більшість дивно трактують значення слова опенсурс. Ну і спрацьовують асоціації з телеграм/телеграф. Є обмеження і іншого роду — користувачі обмежені по частоті публікації коментарів і постів, є ліміти на реєстрації. Наприклад, не можна залишати нові коментарі частіше ніж раз на хвилину. У коментарі або в пості має бути не більше 10 символів. Цей пул обмежень з’явився не на порожньому місці. Деяких це буквально бісить. Але ось так(

 

Що всередині

 

Проект написаний на golang, без зовнішніх залежностей. Зараз хоститься на звичайному виділеному сервері, з повільним hdd і під високим навантаженням поки не був. Не хотілося б забігати вперед і розповідати, яка прекрасна база даних лежить в основі, так як спершу треба переконатися, що вона дійсно прекрасна)

 

Відмова від відповідальності

 

Багато чого ще не завершено. Багато речей реалізовані не так, як у всіх. Над чим я експериментую. Дещо вам здасться неправильним. Але якщо проект вас цікавив — спробуйте: github

Related Articles

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *

Check Also

Close
Close