Your Personal eBook Library Manager
A beautiful, modern ebook library manager with built-in readers, PDF tools, and support for 7+ formats.
Features • Demo • Installation • Usage • Screenshots
✨ Features
🎬 Demo
🌐 Live Demo →
Note: The demo runs entirely in your browser. Add some ebooks to try it out!
🚀 Installation
git clone https://github.com/Programming2055/Booky.git
cd Booky
npm install
npm startWindows Users: Double-click start.bat to launch!
📸 Screenshots
📖 Usage
- Click the + Add Book button in the header
- Select your ebook files (PDF, EPUB, MOBI, etc.)
- Books are automatically added with cover extraction
Reading Books
- Click any book cover to open in the built-in reader
- Use arrow keys or click edges to navigate pages
- Press Escape to close the reader
Organizing Collections
- Click + New Collection in the sidebar
- Drag and drop books into collections
- Right-click collections to rename or delete
Using PDF Tools
- Open any PDF in the reader
- Click the 🔧 Tools button in the toolbar
- Select a tool (requires Stirling-PDF)
⌨️ Keyboard Shortcuts
| Shortcut | Action |
|---|---|
← / → |
Previous / Next page |
Escape |
Close reader |
+ / - |
Zoom in / out |
Ctrl + F |
Search in book |
Note: PDF reader uses the standard Mozilla pdf.js viewer which has its own toolbar and keyboard shortcuts.
📋 Format Support
| Format | Built-in Reader | System App | Notes |
|---|---|---|---|
| ✅ | ✅ | Mozilla pdf.js viewer with full toolbar | |
| EPUB | ✅ | - | Reflowable text, TOC support |
| MOBI | ✅ | - | Kindle format |
| FB2 | ✅ | - | Fiction Book format |
| CBZ | ✅ | - | Comic book archive |
| AZW3 | ✅ | - | Amazon Kindle |
| DJVU | ✅ | ✅ | Vertical scroll, fit-width/fit-page zoom |
🔧 PDF Tools Setup
Booky integrates with Stirling-PDF for advanced PDF operations.
Using Docker (Recommended)
docker run -d -p 8080:8080 --name stirling-pdf frooodle/s-pdf:latest
Using Docker Compose
services: stirling-pdf: image: frooodle/s-pdf:latest ports: - "8080:8080" restart: unless-stopped
Once running, the 🔧 Tools button in the PDF reader will be active!
🏗️ Tech Stack
📁 Project Structure
booky/
├── 📂 public/
│ ├── 📂 foliate-js/ # EPUB/MOBI reader engine
│ ├── 📂 pdfjs/ # Mozilla pdf.js viewer (v4.10.38)
│ ├── djvu.js # DJVU support
│ └── booky-icon.svg # App icon
├── 📂 server/
│ └── ebook_server.py # Python server for system apps
├── 📂 src/
│ ├── 📂 components/
│ │ ├── BookCard/ # Book cover cards
│ │ ├── BookGrid/ # Library grid view
│ │ ├── EbookReader/ # EPUB/MOBI/FB2 reader
│ │ ├── PdfReader/ # pdf.js viewer iframe wrapper
│ │ ├── PdfTools/ # Stirling-PDF integration
│ │ ├── CollectionTree/ # Sidebar collections
│ │ └── ...
│ ├── 📂 context/ # React context (state)
│ ├── 📂 services/ # IndexedDB, API services
│ └── 📂 types/ # TypeScript definitions
├── package.json
└── README.md
🤝 Contributing
Contributions are welcome! Here's how you can help:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Ideas for Contributions
- Cloud sync support
- Book recommendations
- Reading statistics
- Annotation export
- More themes
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
🙏 Acknowledgments
- Foliate-js - EPUB rendering engine
- PDF.js - Mozilla's PDF viewer
- Stirling-PDF - PDF tools
- DjVu.js - DJVU support
Made with ❤️ for book lovers
⭐ Star this repo if you find it useful!




