Skip to content

Free book library w/ Kindle-like reader. Upload EPUB/PDF/FB2 → parse → SEO pages + offline-first reading sync.

Notifications You must be signed in to change notification settings

mrviduus/textstack

Repository files navigation

TextStack

TextStack - A calm place to read books online

Free book library w/ Kindle-like reader. Upload EPUB/PDF/FB2 → parse → SEO pages + offline-first sync.

Live: textstack.app

Quick Start

cp .env.example .env    # Edit with real values
docker compose up --build
Service URL
API http://localhost:8080
Admin http://localhost:81
Aspire http://localhost:18888

Stack

  • Backend: ASP.NET Core (API + Worker) + PostgreSQL + EF Core
  • Frontend: React (Vite)
  • Search: PostgreSQL FTS (tsvector + GIN)
  • Observability: .NET Aspire Dashboard

Structure

backend/src/
  Api/            # Minimal API, auth, endpoints
  Worker/         # Book ingestion pipeline
  Domain/         # Entities, value objects
  Infrastructure/ # DbContext, migrations, storage
  Application/    # Use cases, services
  Search/         # FTS queries
  Extraction/     # EPUB/PDF/FB2 parsing
  Contracts/      # DTOs

apps/
  web/            # Public site (React)
  admin/          # Admin panel (React)

Commands

make up             # Start services
make down           # Stop services
make deploy         # Pull + build + restart + SSG
make rebuild-ssg    # Regenerate SEO pages
make backup         # Backup database
make logs           # Tail logs

Docs

See docs/ for architecture, ADRs, deployment guides.

About

Free book library w/ Kindle-like reader. Upload EPUB/PDF/FB2 → parse → SEO pages + offline-first reading sync.

Resources

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •