Updated book progress model in anticipation of the KOReader sync feature. Renamed properties: - renamed "progress" to "percentage" - renamed "pdf_loc" to "pdf_page" - renamed "epub_loc" to "epub_cfi" New properties: - "epub_xpointer", marks the location of an epub in KOReader - "device", the device type that updated the progress - "device_id", the id of the device that updated the progress
Chitai - eBook Library Management
eBook library management application.
- Backend built with Python and Litestar
- Frontend built with Svelte 5 and SvelteKit
Key Features
- Libraries: Organize your eBooks into customizable libraries.
- Book Upload: Easily upload eBook files in common formats, with automatic metadata extraction.
- Personalized Bookshelves: Create and manage custom bookshelves (lists) within your libraries to categorize your eBooks.
- Built-in Readers: Integrated readers for EPUB and PDF files.
- Progress Tracking: Monitor your reading progress within each book.
- Search Functionality: Quickly find books based on title.
Getting Started
Prerequisites
- Docker
- Docker Compose
- (Optional) A text editor for modifying the
.envfile.
Installation (Production Deployment)
- Clone the repository:
git clone <repository_url>(Replace<repository_url>with the actual URL) - Navigate to the project root:
cd chitai - Build the Docker images:
docker compose build - Copy the example environment file and configure:
cp .env.prod-example .env - Run the Docker containers in detached mode:
docker compose up -d - Access the frontend at:
http://localhost:3000/
Development
NixOS Development Environment
To utilize the NixOS development environment:
- Navigate to the project root in your terminal:
cd chitai - Enter the Nix shell:
nix-shell
Docker development containers are planned for a future release.
Languages
Python
44.7%
Svelte
40.6%
TypeScript
12.1%
CSS
0.7%
Nix
0.5%
Other
1.4%