Skip to content

About

Application to manage books and underlines for kobo libra color

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

📚 Kobo Manager

Aplicación de escritorio para gestionar tu lector Kobo: sincroniza tus libros y subrayados, lee en local sin el dispositivo conectado, organiza tu biblioteca por colecciones y edita metadatos con portadas descargadas automáticamente.

App screenshot


✨ Características

📖 Biblioteca y lectura

  • Sincronización bidireccional con el Kobo al conectarlo por USB: diff previo que te muestra qué libros están solo en el Kobo o solo en la app antes de aplicar nada (fail-closed).
  • Biblioteca local portable (_LIBRERIA/): los EPUBs, la base de datos y las portadas viajan dentro de la misma carpeta. Copia _LIBRERIA a otra máquina y funciona.
  • Lector EPUB integrado con navegación por flechas/ratón, vista a una o dos páginas, pantalla completa, índice lateral redimensionable, y controles tipo reproductor.
  • Modo oscuro / claro con toggle en la sidebar.

🖍️ Subrayados y marcadores

  • Importa highlights y bookmarks del Kobo en cada sincronización.
  • Subraya desde el lector con 4 colores (amarillo, rosa, verde, azul) — bloqueado cuando el Kobo no está conectado para evitar pérdida de datos.
  • Click en un subrayado de la lista → navega al capítulo y marca el texto en el lector con flash animado.
  • Exporta subrayados por libro o en bloque a Markdown / CSV.

🎨 Metadatos y portadas

  • Búsqueda de metadata en Goodreads y Google Books con filtro automático de resultados en español.
  • Diálogo de dos columnas: elige portada y datos independientemente; muestra la resolución de cada portada (en amarillo ⚠️ si es < 800 px).
  • Arrastra y suelta una imagen local sobre la portada para sustituirla en un solo gesto.
  • Botones rápidos: "Descargar Datos + Portada", "Descargar Portada", "Borrar datos".

📂 Gestión de biblioteca

  • Colecciones (shelves) con import automático desde el Kobo + vista desplegable en la sidebar.
  • Filtros: por estado (Sin leer / Leyendo / Terminado), por colección, por subrayados.
  • Ordenación por título, autor, progreso, última lectura o fecha añadida.
  • 3 densidades de grid: 6, 8 o 10 columnas + vista lista.
  • Import y movimiento de biblioteca completa desde Ajustes.
  • Limpieza automática de registros fantasma (libros sin EPUB físico ni en Kobo).

🔒 Fiabilidad

  • Sistema de logs renderer → main que escribe a %APPDATA%/kobo-manager/logs/main.log con prefijo [RENDERER] para diagnosticar errores del front sin DevTools.
  • Transacciones SQLite en la sincronización: si algo falla a mitad, rollback completo.
  • Filtro de libros físicos: los registros del Kobo sin EPUB real se marcan como deleted_from_device=1 y no ensucian la biblioteca.

🛠️ Stack

  • Electron 41 + electron-vite 5 — aplicación de escritorio multiplataforma
  • React 19 + TypeScript 6 + Tailwind CSS 4 — UI
  • better-sqlite3 — BD del Kobo y BD local
  • epubjs — motor del lector
  • Zustand — estado global
  • lucide-react + sonner — iconos y notificaciones

🚀 Instalación y desarrollo

Requisitos

  • Node.js 20+
  • Windows 10/11 (las integraciones USB y shell están probadas en Windows; macOS/Linux deberían funcionar pero no están validadas)

Setup

cd kobo-manager
npm install
npx electron-rebuild -f -w better-sqlite3   # reconstruye el módulo nativo para Electron

Comandos

# Desarrollo (lanza la app con HMR)
npm run dev

# Build
npm run build

# Empaquetar .exe portable (sale en la raíz de kobo-manager/)
npm run dist

El empaquetador está configurado (electron-builder) para generar un KoboManager.exe portable (~100 MB) que no requiere instalación.


📁 Estructura del proyecto

KOBO/
├── kobo-manager/              # App Electron + React
│   ├── electron/              # Main process
│   │   ├── services/          # USB, sync, DB, epub parser, metadata
│   │   └── ipc/               # Canales y handlers
│   ├── src/                   # Renderer (React)
│   │   ├── pages/             # Dashboard, Books, BookDetail, Reader, Settings…
│   │   ├── components/        # UI (reader, kobo, layout, sync)
│   │   ├── hooks/             # useBooks, useHighlights, useKoboStatus…
│   │   └── stores/            # Zustand
│   ├── shared/                # Tipos compartidos main ↔ renderer
│   └── build/                 # icon.ico, splash.jpg
├── _LIBRERIA/                 # Biblioteca portable (EPUBs + .db + .covers)
├── STRUCTURE.json             # Mapa de módulos
├── PROJECT_NOTES.md           # Registro de decisiones
└── tasks.json                 # Tracking de tareas

🔐 Datos

  • Base de datos local: _LIBRERIA/.db/kobo-manager.sqlite (incluye libros, subrayados, notas, colecciones y ajustes).
  • Portadas: _LIBRERIA/.covers/*.jpg.
  • EPUBs: _LIBRERIA/*.epub (directo en la raíz).
  • Logs: %APPDATA%/kobo-manager/logs/main.log.

El Kobo físico solo se lee y se escribe durante una sincronización explícita — nunca hay modificaciones no solicitadas.


🤝 Autor

Creado por Kino como herramienta personal de gestión de biblioteca Kobo. Pull requests, sugerencias e issues son bienvenidos.


📜 Licencia

ISC — úsalo, fórqueal o modifícalo libremente.

About

Application to manage books and underlines for kobo libra color

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages