Read. Share. Comment. Think together.
BookStream is an interactive reading platform where books become living spaces for notes, quotes, comments, discussions, and multiple ways of reading.
It is not just an online library and not just a social network.
BookStream turns a book into an interactive reading room: text, notes, quotes, comments and discussions live in one place.
A book remains a book — but becomes alive, social, and modern.
Production: https://books.bezrabotnyi.com
BookStream is a platform for people who do not just consume books, but work with them.
Readers can:
- read books online;
- switch between different reading modes;
- leave comments on text fragments;
- save quotes and notes;
- discuss ideas with other readers;
- continue reading offline;
- return to important fragments later;
- see a book not as a closed file, but as a shared intellectual space.
BookStream is built as a real product surface, not as a pitch deck, demo shell, or temporary prototype.
Product decisions in the app and docs should optimize for real reading, publishing, moderation, and long-term maintainability.
- Clean online book reader
- Minimal reading interface
- Text-first layout
- Comfortable long-form reading
- Reader comments
- Fragment-level interactions
- Quotes and annotations
- Offline reading flow
- Reading progress
- Feed reader virtualization for large texts
- Comments around books and fragments
- Discussions connected to the text
- Shared quotes
- Reader reactions
- Public meaning layer around a book
BookStream does not force one “correct” way to read.
The reader can choose the depth and rhythm:
- full original text;
- shortened version;
- core summary;
- selected important fragments;
- personal notes and highlights.
- Admin book upload flow
- Book editing
- Device linking flow
- Admin controls
- Reader and content management
- Foundation for moderation workflows
- Offline reader flow
- Device linking
- Reader state preservation
- Reading continuity across sessions
Screenshots are stored in
docs/screenshots/.
Reader comments
Interactivity is not an extra layer on top of reading.
It is a new dimension of reading.
Traditional digital reading often reduces a book to a file: open, scroll, close.
BookStream treats a book differently.
A book can be:
- a text;
- a discussion;
- a collection of quotes;
- a shared reading experience;
- a personal notebook;
- a social layer around meaning.
BookStream makes books great again: not just text, but a living space where readers can think together, argue, share quotes, leave comments, and see how the same text opens differently for different people.
It is an online book club without heavy interfaces, old library feeling, or unnecessary barriers.
Design is everything.
BookStream must be:
- clean;
- modern;
- minimal;
- calm;
- fast;
- readable;
- focused on the text.
No overloaded screens.
No heavy menus.
No visual noise.
No unnecessary actions.
The interface should disappear while the user reads — and appear only when it is actually needed.
The main principle:
The book remains the center.
The interface exists only to make reading deeper, easier, and more alive.
The reader experience is the center of the product.
If a feature makes the interface heavier but does not improve reading, it should be questioned.
BookStream is social, but it is not trying to become a chaotic feed.
The social layer must help the reader understand the book better:
- comments should be connected to meaning;
- quotes should preserve context;
- discussions should grow from the text;
- the book should remain more important than the interface around it.
Different people read differently.
Some want the full text.
Some want the main ideas.
Some want fragments, notes and discussion.
Some return to a book many times.
BookStream should support all of these patterns.
This repository is being built as the final product surface.
That means:
- features should be maintainable;
- UI should be usable, not just impressive;
- admin flows matter as much as reader flows;
- moderation and publishing should be treated as core product logic;
- long-term development should be possible without rewriting everything.
- Next.js
- TypeScript
- React
- Prisma
- Playwright
- Tailwind CSS
- Bun / npm
- Caddy
.
├── db/ # Database-related files
├── deploy/ # Deployment configuration
├── docs/ # Documentation and screenshots
├── download/ # Download/import-related logic
├── examples/ # Example integrations
├── mini-services/ # Auxiliary services
├── prisma/ # Prisma schema and migrations
├── public/ # Static assets
├── scripts/ # Utility scripts
├── src/ # Main application source code
├── tests/ # Playwright and test coverage
├── Makefile # Common development commands
├── next.config.ts # Next.js configuration
├── package.json # Project dependencies and scripts
└── README.md
Clone the repository:
git clone https://github.com/megamen32/bookstream.git
cd bookstreamInstall dependencies:
npm installCreate environment file:
cp .env.example .envRun database migrations:
npx prisma migrate devStart the development server:
npm run devOpen:
http://localhost:3000
Create .env from .env.example.
Example:
DATABASE_URL="postgresql://user:password@localhost:5432/bookstream"
NEXT_PUBLIC_APP_URL="http://localhost:3000"Actual required variables may depend on the deployment mode and enabled integrations.
Common commands:
npm run devRun development server.
npm run buildBuild production version.
npm run startStart production server.
npm run lintRun lint checks.
npx playwright testRun Playwright tests.
BookStream includes Playwright coverage for reader and admin flows.
The test suite should protect the most important product paths:
- opening the reader;
- reading text;
- working with comments;
- admin upload/editing flow;
- device linking flow;
- offline reader behavior.
Run tests:
npx playwright test- Basic reader
- Reader comments
- Reader experience refinement
- Offline reader flow
- Feed reader virtualization
- Reading progress sync
- Fragment sharing
- Advanced reading settings
- Personal reading history
- Annotation flows
- Quote-related UI foundation
- Personal quote library
- Public quote pages
- Export notes
- Search inside personal annotations
- Comments UI
- Public discussions
- Comment moderation
- Reader profiles
- Following readers
- Book clubs / reading groups
- Upload flow
- Admin editing
- Admin device linking flow
- Reading stats and admin controls
- Moderation queue
- Publisher roles
- Author pages
- Content versioning
- Short versions of books
- Chapter summaries
- Core 20% reading mode
- Semantic search across books
- Personal reading assistant
- Comment and discussion summarization
- Production monitoring
- Backup strategy
- Better deployment documentation
- Public API foundation
- Import pipeline improvements
Additional documentation lives in docs/.
Suggested docs:
- docs/book/00-prologue.md
- docs/book/01-reading-modes.md
- docs/book/02-social-layer.md
- docs/book/03-variants-and-ai.md
- docs/book/04-offline-and-identity.md
- docs/book/05-admin-and-editing.md
BookStream starts from a simple observation:
Digital books are usually treated as static files.
But reading is not static.
People underline, argue, compare, quote, remember, forget, return, discuss, and reinterpret.
BookStream makes this process part of the product.
The goal is not to replace the book with a social feed.
The goal is to add a living layer around the book without destroying the reading experience.
Читайте. Делитесь. Комментируйте. Думайте вместе.
BookStream — интерактивная платформа для чтения, где книга становится живым пространством для заметок, цитат, комментариев, обсуждений и разных способов чтения.
Это не просто онлайн-библиотека и не просто социальная сеть.
BookStream превращает книгу в интерактивную комнату чтения: текст, заметки, цитаты, комментарии и обсуждения живут в одном месте.
Книга остаётся книгой — но становится живой, социальной и современной.
Production: https://books.bezrabotnyi.com
BookStream — платформа для людей, которые не просто потребляют книги, а работают с ними.
Читатель может:
- читать книги онлайн;
- выбирать разные режимы чтения;
- оставлять комментарии к фрагментам текста;
- сохранять цитаты и заметки;
- обсуждать идеи с другими читателями;
- продолжать чтение офлайн;
- возвращаться к важным местам;
- воспринимать книгу не как закрытый файл, а как общее интеллектуальное пространство.
BookStream развивается как конечный продукт, а не как презентация, демо-оболочка или временный прототип.
Решения в приложении и документации должны быть ориентированы на реальное чтение, публикацию, модерацию и долгую поддержку.
- Чистая онлайн-читалка
- Минималистичный интерфейс
- Удобное чтение длинных текстов
- Комментарии читателей
- Взаимодействие с фрагментами текста
- Цитаты и аннотации
- Офлайн-режим чтения
- Прогресс чтения
- Виртуализация ленты для больших текстов
- Комментарии вокруг книг и фрагментов
- Обсуждения, привязанные к тексту
- Общие цитаты
- Реакции читателей
- Социальный слой вокруг смысла книги
BookStream не навязывает один “правильный” способ читать.
Читатель сам выбирает глубину и ритм:
- полный оригинальный текст;
- сокращённая версия;
- краткая суть;
- выбранные важные фрагменты;
- личные заметки и выделения.
- Загрузка книг
- Редактирование книг
- Привязка устройств
- Админские настройки
- Управление читателями и контентом
- Основа для модерации
- Офлайн-читалка
- Привязка устройств
- Сохранение состояния чтения
- Продолжение чтения между сессиями
Скриншоты лежат в
docs/screenshots/.
Интерактивность — это не дополнение к чтению.
Это новое измерение чтения.
Обычное цифровое чтение часто превращает книгу в файл: открыть, пролистать, закрыть.
BookStream относится к книге иначе.
Книга может быть:
- текстом;
- обсуждением;
- набором цитат;
- совместным опытом чтения;
- личным блокнотом;
- социальной оболочкой вокруг смысла.
BookStream делает книги великими снова: не просто текстом, а живым пространством, где читатели могут думать вместе, спорить, делиться цитатами, оставлять комментарии и видеть, как один и тот же текст раскрывается по-разному для разных людей.
Это книжный клуб в интернете — без лишних барьеров, тяжёлых интерфейсов и ощущения старой электронной библиотеки.
Дизайн — это всё.
BookStream должен быть:
- удобным;
- современным;
- минималистичным;
- спокойным;
- быстрым;
- читаемым;
- сфокусированным на тексте.
Никакой перегрузки.
Никаких тяжёлых меню.
Никакого визуального шума.
Никаких лишних действий.
Интерфейс должен исчезать, когда человек читает, и появляться только тогда, когда он действительно нужен.
Главный принцип:
Книга остаётся центром.
Интерфейс нужен только для того, чтобы сделать чтение глубже, удобнее и живее.
Этот репозиторий развивается как конечная поверхность продукта.
Это значит:
- фичи должны быть поддерживаемыми;
- UI должен быть реально удобным, а не просто эффектным;
- админские сценарии так же важны, как читательские;
- модерация и публикация должны рассматриваться как часть ядра продукта;
- проект должен развиваться без полной переписи с нуля.
Читательский опыт — центр продукта.
Если функция делает интерфейс тяжелее, но не улучшает чтение, её нужно ставить под вопрос.
BookStream — социальный продукт, но он не должен превращаться в хаотичную ленту.
Социальный слой должен помогать лучше понимать книгу:
- комментарии должны быть связаны со смыслом;
- цитаты должны сохранять контекст;
- обсуждения должны расти из текста;
- книга должна оставаться важнее интерфейса вокруг неё.
Люди читают по-разному.
Кто-то хочет полный текст.
Кто-то хочет главные идеи.
Кто-то работает с фрагментами, заметками и обсуждениями.
Кто-то возвращается к книге много раз.
BookStream должен поддерживать все эти сценарии.
- Next.js
- TypeScript
- React
- Prisma
- Playwright
- Tailwind CSS
- Bun / npm
- Caddy
.
├── db/ # Файлы, связанные с базой данных
├── deploy/ # Конфигурация деплоя
├── docs/ # Документация и скриншоты
├── download/ # Логика загрузки/импорта книг
├── examples/ # Примеры интеграций
├── mini-services/ # Вспомогательные сервисы
├── prisma/ # Prisma schema и миграции
├── public/ # Статические файлы
├── scripts/ # Вспомогательные скрипты
├── src/ # Основной код приложения
├── tests/ # Playwright и тесты
├── Makefile # Основные команды разработки
├── next.config.ts # Конфигурация Next.js
├── package.json # Зависимости и scripts
└── README.md
Склонировать репозиторий:
git clone https://github.com/megamen32/bookstream.git
cd bookstreamУстановить зависимости:
npm installСоздать файл окружения:
cp .env.example .envПрименить миграции:
npx prisma migrate devЗапустить dev-сервер:
npm run devОткрыть:
http://localhost:3000
Создайте .env на основе .env.example.
Пример:
DATABASE_URL="postgresql://user:password@localhost:5432/bookstream"
NEXT_PUBLIC_APP_URL="http://localhost:3000"Фактический набор переменных зависит от режима деплоя и включённых интеграций.
Основные команды:
npm run devЗапуск dev-сервера.
npm run buildProduction-сборка.
npm run startЗапуск production-сервера.
npm run lintПроверка линтером.
npx playwright testЗапуск Playwright-тестов.
В BookStream есть Playwright-покрытие для reader- и admin-сценариев.
Тесты должны защищать ключевые продуктовые пути:
- открытие читалки;
- чтение текста;
- работа с комментариями;
- загрузка и редактирование книг в админке;
- привязка устройств;
- офлайн-чтение.
Запуск тестов:
npx playwright test- Базовая читалка
- Комментарии читателей
- Улучшение reader experience
- Офлайн-читалка
- Виртуализация ленты
- Синхронизация прогресса чтения
- Шеринг фрагментов
- Расширенные настройки чтения
- История чтения
- Базовые annotation flows
- Основа UI для цитат
- Личная библиотека цитат
- Публичные страницы цитат
- Экспорт заметок
- Поиск по личным аннотациям
- UI комментариев
- Публичные обсуждения
- Модерация комментариев
- Профили читателей
- Подписки на читателей
- Книжные клубы / группы чтения
- Загрузка книг
- Редактирование книг
- Привязка устройств в админке
- Статистика чтения и admin controls
- Очередь модерации
- Роли издателей
- Страницы авторов
- Версионирование контента
- Краткие версии книг
- Саммари глав
- Режим “20% смысла”
- Семантический поиск по книгам
- Персональный помощник по чтению
- Саммаризация комментариев и обсуждений
- Production monitoring
- Backup strategy
- Улучшенная документация деплоя
- Основа публичного API
- Улучшение import pipeline
Дополнительная документация находится в docs/.
Рекомендуемая структура:
docs/
├── architecture.md
├── deployment.md
├── product.md
├── reader.md
├── admin.md
└── screenshots/
BookStream начинается с простой мысли:
Цифровые книги обычно воспринимаются как статичные файлы.
Но чтение не статично.
Люди подчёркивают, спорят, сравнивают, цитируют, запоминают, забывают, возвращаются и переосмысляют.
BookStream делает этот процесс частью продукта.
Цель — не заменить книгу социальной лентой.
Цель — добавить живой слой вокруг книги, не разрушая сам опыт чтения.
MIT




