docs: update comprehensive API documentation and project guides

This commit updates all documentation files throughout the project:

- Updated IMPLEMENTATION_PLAN.md with new implementation details
- Updated PROJECT_GUIDELINES.md with coding standards and practices
- Updated README.md with current project information
- Updated SCREENSHOT_AUTOMATION.md with new automation details
- Added TEST_DATA.md with test fixtures data
- Updated cover_image_serving_plan.md with static URL patterns

Documentation API updates:
- Updated API reference documentation for all endpoints including:
  - Authentication (login, logout, register, refresh_token)
  - Book matching (auto_link, bulk_link, link_book, search)
  - Collections (CRUD operations, shelf mappings, auto-assign rules)
  - Conflicts (bulk operations, resolve/dismiss)
  - Devices (registration, approval, shelf management)
  - Highlights (create, update, delete, get)
  - Kobo sync (bookmark, markup, initialization, sync)
  - KOReader sync (library, metadata, bookmarks, progress)
  - Libraries (CRUD, folders, media items, stats)
  - Media items (bulk operations, CRUD)
  - Notes (CRUD operations)
  - OPDS (acquisition, feeds, publication)
  - Progress (reading progress tracking)
  - Queue (device queue management)
  - Ratings (star ratings)
  - Scanner (watch mode, scan operations)
  - Sync protocols (Kobo, KOReader)
  - Users (profile, password, admin operations)
  - WebSocket protocols

- Updated user guides (admin, dashboard, settings, sync)
- Updated device setup guides (Kobo, KOReader)
- Updated developer guides (testing, contributing, operations)
- Updated scripts/README.md
This commit is contained in:
2026-02-27 17:06:22 -05:00
parent 6562b20ee5
commit 4d321528b2
154 changed files with 2817 additions and 2152 deletions
+6 -3
View File
@@ -16,17 +16,20 @@ Welcome to the Bookhoard operations documentation. This section contains guides
### Additional Deployment Guides
**[Deployment Guide](deployment.md)** - Comprehensive deployment guide
- *Coming Soon*
- _Coming Soon_
## 🛠️ Maintenance
**[Maintenance Guide](maintenance.md)** - Ongoing operations and maintenance
- *Coming Soon*
- _Coming Soon_
## 📊 Monitoring
**[Monitoring Guide](monitoring.md)** - Monitoring and alerting
- *Coming Soon*
- _Coming Soon_
---
+21 -1
View File
@@ -9,6 +9,7 @@ This guide addresses common issues when deploying and running Bookhoard on diffe
**Issue:** Missing or incorrect `.env` file
**Solution:**
```bash
# 1. Copy the example file
cp .env.example .env
@@ -36,6 +37,7 @@ DBPASS="your-secure-database-password" # Strong password
**Issue:** Port 8765 already in use
**Solution:**
```bash
# Check what's using the port
lsof -i :8765
@@ -52,6 +54,7 @@ SERVER_PORT=8766
**Issue:** Container runtime compatibility
**Solution:**
```bash
# Podman is recommended (podman-compose works with docker-compose.yml)
# Install podman-compose:
@@ -72,6 +75,7 @@ docker compose up -d
**Issue:** PostgreSQL fails on foreign key constraints
**Solution:**
```bash
# Clean database volume and restart:
# Podman:
@@ -93,6 +97,7 @@ podman-compose logs db # or: docker compose logs db
**Issue:** `sqlc` or `templ` not in PATH
**Solution:**
```bash
# Ensure Go tools are installed correctly
go version # Should be 1.25+
@@ -108,6 +113,7 @@ podman-compose build --no-cache # or: docker compose build --no-cache
**Issue:** KEPUB conversion fails or cache problems
**Solution:**
```bash
# Check cache directory exists and is writable
ls -la /var/bookhoard/cache/kepub
@@ -133,6 +139,7 @@ grep BOOKHOARD_CONVERSION .env
**Issue:** Different OS architectures (ARM vs x86)
**Solution:**
```bash
# Check current architecture
uname -m
@@ -152,6 +159,7 @@ FROM golang:1.25-alpine AS builder
**Issue:** Can't connect to localhost
**Solution:**
```bash
# Check if containers are running:
podman-compose ps # or: docker compose ps
@@ -169,6 +177,7 @@ curl -s http://SERVER_IP:8765/api/libraries/visible
## 🚀 Quick Verification
### Basic Health Checks:
```bash
# Check container status
podman-compose ps # or: docker compose ps
@@ -184,6 +193,7 @@ docker compose logs app
```
### First-Time Setup:
```bash
# 1. Clone repository
git clone <repository-url>
@@ -205,6 +215,7 @@ curl -s http://localhost:8765/api/libraries/visible
## 🌐 Production Deployment
### Environment Variables:
```bash
# Required production variables
export JWT_SECRET="your-production-jwt-secret"
@@ -220,6 +231,7 @@ docker compose -f docker-compose.yml -f docker-compose.prod.yml build
## 📋 Debugging Steps
### Check Application Logs:
```bash
# Application logs:
docker compose logs app
@@ -232,6 +244,7 @@ docker compose logs -f app
```
### Check Database Schema:
```bash
# Connect to database:
docker compose exec db psql -U postgres -d bookhoard
@@ -258,6 +271,7 @@ WHERE tc.table_schema = 'public';
```
### Test New Features:
```bash
# Test notes API:
curl -s -H "Authorization: Bearer YOUR_TOKEN" \
@@ -273,24 +287,28 @@ curl -s -H "Authorization: Bearer YOUR_TOKEN" \
The current setup follows best practices:
### ✅ **Containerization**
- Multi-stage Docker builds for smaller images
- Separate database and application containers
- Proper volume mounting for data persistence
- Health checks for service dependencies
### ✅ **Database Design**
- PostgreSQL with proper foreign key constraints
- Cascade deletes for data integrity
- Indexed for performance
- pgx v5 compatibility
### ✅ **API Design**
- RESTful endpoints following standards
- JWT-based authentication
- Proper HTTP status codes
- Comprehensive error handling
### ✅ **Build Process**
- Go modules with vendoring support
- SQL code generation with sqlc
- Template generation with templ
@@ -323,6 +341,7 @@ The highlights and notes functionality provides:
## 🆘 When All Else Fails
### Last Resort Steps:
1. **Check this guide** for common solutions
2. **Verify environment variables** are set correctly
3. **Ensure no port conflicts** on the target machine
@@ -331,9 +350,10 @@ The highlights and notes functionality provides:
6. **Test incrementally** - Start with basic setup, then add complexity
### Get Help:
- **Check GitHub Issues** for known problems
- **Verify Docker version** compatibility
- **Test with minimal setup** before adding customizations
- **Check system resources** (memory, disk space)
The system is designed to be robust and should work across different platforms with minimal configuration.
The system is designed to be robust and should work across different platforms with minimal configuration.