Bizibah Павел Гуров

Книгописьработает

Дневник читателя: список прочитанных книг с примечаниями вместо оценок. Аккаунт — ключ у самого читателя, а записи живут на узлах, которые может поднять кто угодно.

Открыть проект www.knigopis.com

Исходники

NostrPreactTypeScriptPWA

2 минуты чтения книги, p2p
Книгопись — главная страница: приветствие читателю, поиск по архиву и лента прочитанного

Книгопись — дневник читателя: список прочитанных книг, которым можно поделиться ссылкой. Название и автора можно писать как угодно, привязки к каталогу нет. Дата тоже свободная: полная, только год или вовсе никакой. Оценок нет, вместо них свои примечания — чем понравилась, кому посоветовать. Ещё есть список «хочу прочитать» и подписки на других читателей.

История у проекта длинная. Сначала мы делали его с Ромой (я только немного фронтенда), а сейчас я его переписал и воскресил.

  • 2015 — сайт без бэкенда: записи лежат в облачном parse.com, вход через соцсети.
  • 2016 — parse.com объявляет о закрытии, записи переезжают в git-репозиторий на GitHub, у сайта появляется свой API.
  • 2026 — весной отключается вход через соцсети, к концу октября перестаёт отвечать старый сервер. Записи уцелели: они лежали в том самом открытом репозитории.
  • Ноябрь 2026 — новая версия на прежнем адресе.

Новая версия сделана так, чтобы не зависеть ни от одного хостинга и ни от чьего входа. Она построена на протоколе Nostr, обычного бэкенда у неё нет. Аккаунт — это ключ, который хранится у читателя. Каждая запись подписана этим ключом, поэтому подделать её не может никто, в том числе сервер.

Хранят записи узлы. Узел — один Docker-образ с сайтом, архивом и relay на strfry, поднять свой может кто угодно, и новый узел сам забирает все записи у остальных. Пока узел один, www.knigopis.com, а снимок всех записей дважды в день уходит в отдельный репозиторий.

Старые записи никуда не делись: в архиве 4 276 читателей и 31 077 книг. Себя можно найти по нику, старой ссылке или названию книги и перенести записи в новый аккаунт.