diff --git a/bruno/README.md b/bruno/README.md
index c416b78..c0a3700 100644
--- a/bruno/README.md
+++ b/bruno/README.md
@@ -1,6 +1,6 @@
-# Bruno API Tests for Bookmann
+# Bruno API Tests for Bookhoard
-This directory contains Bruno collection for testing the Bookmann API with comprehensive REST documentation.
+This directory contains Bruno collection for testing the Bookhoard API with comprehensive REST documentation.
## Setup
diff --git a/bruno/bruno.json b/bruno/bruno.json
index 9882668..8543133 100644
--- a/bruno/bruno.json
+++ b/bruno/bruno.json
@@ -1,5 +1,5 @@
{
"version": "1",
- "name": "Bookmann API",
+ "name": "Bookhoard API",
"type": "collection"
}
\ No newline at end of file
diff --git a/bruno/koreader/README.md b/bruno/koreader/README.md
index c30ff74..7cb475b 100644
--- a/bruno/koreader/README.md
+++ b/bruno/koreader/README.md
@@ -2,13 +2,13 @@
## Overview
-Bookmann provides full Calibre-compatible wireless sync for KOReader devices, enabling seamless reading progress, highlights, and notes synchronization.
+Bookhoard provides full Calibre-compatible wireless sync for KOReader devices, enabling seamless reading progress, highlights, and notes synchronization.
## Setup
### 1. Register Your Device
-First, register your KOReader device with Bookmann:
+First, register your KOReader device with Bookhoard:
```bash
POST /api/devices/register
@@ -31,7 +31,7 @@ Visit the approval URL in your web browser (or scan the QR code) to authenticate
### 3. Configure KOReader
In KOReader settings, set:
-- **Calibre wireless URL**: `https://your-bookmann-domain.com/api/sync/koreader`
+- **Calibre wireless URL**: `https://your-bookhoard-domain.com/api/sync/koreader`
- **Enable wireless sync**: ON
- **Sync frequency**: Every page turn (recommended)
@@ -241,7 +241,7 @@ Syncs periodically to save bandwidth.
## Device Matching
-Bookmann tries multiple strategies to match books:
+Bookhoard tries multiple strategies to match books:
1. **By UUID**: Most reliable if your book files have unique IDs (confidence: 1.0)
2. **By SHA-256**: Hash-based matching for reliable identification (confidence: 0.9)
@@ -251,7 +251,7 @@ Bookmann tries multiple strategies to match books:
### SHA-256 Matching (Phase 7 Enhancement)
-Bookmann now supports SHA-256 hash matching for reliable book identification:
+Bookhoard now supports SHA-256 hash matching for reliable book identification:
```json
{
@@ -275,7 +275,7 @@ Bookmann now supports SHA-256 hash matching for reliable book identification:
### Device File Alias System
-When a book is matched with a file path, Bookmann automatically creates a device file alias:
+When a book is matched with a file path, Bookhoard automatically creates a device file alias:
- **UUID + FilePath**: Creates alias with confidence 1.0
- **SHA-256 + FilePath**: Creates alias with confidence 0.9
@@ -359,7 +359,7 @@ Use the Bruno API collection in `/bruno/koreader/` to test endpoints:
- `Sync Bookmarks.bru` - Test annotation sync
Required variables:
-- `baseUrl` - Your Bookmann server URL
+- `baseUrl` - Your Bookhoard server URL
- `device_token` - Device authentication token
- `book_uuid` - UUID of a test book
@@ -368,7 +368,7 @@ Required variables:
- Compatible with Calibre wireless protocol
- Supports EPUB CFI for precise locations
- Handles reflowable and fixed-layout formats
-- Bidirectional sync (KOReader ↔ Bookmann)
+- Bidirectional sync (KOReader ↔ Bookhoard)
- Real-time updates via WebSocket (coming in Phase 3b)
## Next Steps
diff --git a/bruno/opds/Download Book KEPUB (On-the-fly Conversion).bru b/bruno/opds/Download Book KEPUB (On-the-fly Conversion).bru
index 60a01bf..4dc67fe 100644
--- a/bruno/opds/Download Book KEPUB (On-the-fly Conversion).bru
+++ b/bruno/opds/Download Book KEPUB (On-the-fly Conversion).bru
@@ -17,8 +17,8 @@
"}",
"",
"// Verify Bookhoard UUID header",
- "const bookmannUUID = resp.headers.get('X-Bookhoard-UUID');",
- "tests['Bookhoard UUID present'] = bookmannUUID !== null;",
+ "const bookhoardUUID = resp.headers.get('X-Bookhoard-UUID');",
+ "tests['Bookhoard UUID present'] = bookhoardUUID !== null;",
"",
"// Verify content type",
"const contentType = resp.headers.get('Content-Type');",
diff --git a/bruno/sidecar/Download Device Sidecar File.bru b/bruno/sidecar/Download Device Sidecar File.bru
index 8ee9e96..1cac717 100644
--- a/bruno/sidecar/Download Device Sidecar File.bru
+++ b/bruno/sidecar/Download Device Sidecar File.bru
@@ -15,5 +15,5 @@ get {
assert {
response.status == 200
response.headers["Content-Type"] contains "application/json"
- response.headers["Content-Disposition"] contains ".bookmann.json"
+ response.headers["Content-Disposition"] contains ".bookhoard.json"
}
diff --git a/bruno/sidecar/Get Device Sidecar Config.bru b/bruno/sidecar/Get Device Sidecar Config.bru
index 9414d5b..4d9a8f5 100644
--- a/bruno/sidecar/Get Device Sidecar Config.bru
+++ b/bruno/sidecar/Get Device Sidecar Config.bru
@@ -15,7 +15,7 @@ get {
assert {
response.status == 200
response.body.version == "1.0"
- response.body.bookmann exists()
+ response.body.bookhoard exists()
response.body.books exists()
response.body.collections exists()
}
diff --git a/bruno/sidecar/README.md b/bruno/sidecar/README.md
index 64dd996..5d1034c 100644
--- a/bruno/sidecar/README.md
+++ b/bruno/sidecar/README.md
@@ -5,7 +5,7 @@ This document describes the sidecar configuration system that enables easy devic
## What is a Sidecar File?
-A sidecar file (`.bookmann.json`) is a configuration file that contains all the information a device needs to connect to Bookmann, including:
+A sidecar file (`.bookhoard.json`) is a configuration file that contains all the information a device needs to connect to Bookhoard, including:
- OPDS catalog URL for wireless book browsing
- Sync API endpoints for progress sync
- Book inventory with SHA-256 hashes
@@ -32,7 +32,7 @@ Authorization: Bearer {{user_token}}
```json
{
"version": "1.0",
- "bookmann": {
+ "bookhoard": {
"opds_catalog": "http://192.168.1.100:8765/opds/devices/kobo-id/catalog",
"sync_api": "http://192.168.1.100:8765/api/sync/kobo",
"opds_base_url": "http://192.168.1.100:8765/opds",
@@ -42,7 +42,7 @@ Authorization: Bearer {{user_token}}
},
"books": {
"sha256:abc123...": {
- "bookmann_uuid": "uuid-123",
+ "bookhoard_uuid": "uuid-123",
"title": "The Hobbit",
"author": "J.R.R. Tolkien",
"available_formats": ["epub", "kepub"],
@@ -66,7 +66,7 @@ Authorization: Bearer {{user_token}}
### 2. Download Device Sidecar File
**Endpoint**: `GET /api/devices/:device_id/sidecar/download`
-**Description**: Downloads a `.bookmann.json` configuration file for device setup.
+**Description**: Downloads a `.bookhoard.json` configuration file for device setup.
**Request Headers**:
```
@@ -76,7 +76,7 @@ Authorization: Bearer {{user_token}}
**Response** (200 OK):
```
Content-Type: application/json
-Content-Disposition: attachment; filename="MyKoboClara.bookmann.json"
+Content-Disposition: attachment; filename="MyKoboClara.bookhoard.json"
```
File contains formatted JSON (pretty-printed) suitable for:
@@ -97,9 +97,9 @@ Authorization: Bearer {{admin_token}}
**Response** (200 OK):
```json
{
- "base_url": "https://bookmann.example.com",
- "opds_base_url": "https://bookmann.example.com/opds",
- "api_base_url": "https://bookmann.example.com/api"
+ "base_url": "https://bookhoard.example.com",
+ "opds_base_url": "https://bookhoard.example.com/opds",
+ "api_base_url": "https://bookhoard.example.com/api"
}
```
@@ -117,9 +117,9 @@ Content-Type: application/json
**Request Body**:
```json
{
- "base_url": "https://bookmann.example.com",
- "opds_base_url": "https://bookmann.example.com/opds",
- "api_base_url": "https://bookmann.example.com/api"
+ "base_url": "https://bookhoard.example.com",
+ "opds_base_url": "https://bookhoard.example.com/opds",
+ "api_base_url": "https://bookhoard.example.com/api"
}
```
@@ -136,7 +136,7 @@ Content-Type: application/json
### Version
Always "1.0" - enables future format changes
-### Bookmann Section
+### Bookhoard Section
Contains device connection information:
- **opds_catalog**: Full URL to device's OPDS catalog
- **sync_api**: Sync API endpoint
@@ -147,8 +147,8 @@ Contains device connection information:
### Books Section
Map of book identifiers to book metadata:
-- **Key**: SHA-256 hash (preferred) or Bookmann UUID
-- **bookmann_uuid**: Canonical Bookmann UUID
+- **Key**: SHA-256 hash (preferred) or Bookhoard UUID
+- **bookhoard_uuid**: Canonical Bookhoard UUID
- **title**: Book title
- **author**: Book author
- **available_formats**: Array of formats ("epub", "kepub")
@@ -157,22 +157,22 @@ Map of book identifiers to book metadata:
### Collections Section
Array of collection definitions:
-- **name**: Collection name in Bookmann
+- **name**: Collection name in Bookhoard
- **shelf_mapping**: Device-specific shelf name (e.g., "Science Fiction")
-- **book_ids**: Array of Bookmann UUIDs in collection
+- **book_ids**: Array of Bookhoard UUIDs in collection
## Device Setup Workflow
### Kobo E-Reader
1. **Download Configuration**
- - Log into Bookmann web UI
+ - Log into Bookhoard web UI
- Navigate to Device Management
- Click "Download Configuration" for your Kobo device
- - File saves as `MyKoboClara.bookmann.json`
+ - File saves as `MyKoboClara.bookhoard.json`
2. **Manual Configuration** (if needed)
- - Copy `.bookmann.json` to Kobo device
+ - Copy `.bookhoard.json` to Kobo device
- Kobo can import configuration automatically
3. **OPDS Setup** (Recommended)
@@ -224,7 +224,7 @@ Set these in your Bruno collection:
## Testing Scenarios
### Scenario 1: New Kobo Device
-1. Register Kobo device in Bookmann
+1. Register Kobo device in Bookhoard
2. Download sidecar configuration
3. Add OPDS catalog URL from sidecar to Kobo
4. Browse and download books wirelessly
@@ -237,7 +237,7 @@ Set these in your Bruno collection:
4. Re-configure device with updated file
### Scenario 3: Collection Management
-1. Create collections in Bookmann
+1. Create collections in Bookhoard
2. Set up device-specific shelf mappings
3. Sidecar automatically includes collection info
4. Device shelves reflect collection structure
diff --git a/bruno/sidecar/Update System Configuration.bru b/bruno/sidecar/Update System Configuration.bru
index 6337d60..354d955 100644
--- a/bruno/sidecar/Update System Configuration.bru
+++ b/bruno/sidecar/Update System Configuration.bru
@@ -7,9 +7,9 @@ meta {
put {
url: {{base_url}}/api/system/config
body: json({
- "base_url": "https://bookmann.example.com",
- "opds_base_url": "https://bookmann.example.com/opds",
- "api_base_url": "https://bookmann.example.com/api"
+ "base_url": "https://bookhoard.example.com",
+ "opds_base_url": "https://bookhoard.example.com/opds",
+ "api_base_url": "https://bookhoard.example.com/api"
})
auth: {
type: bearer
diff --git a/docs/API_REFERENCE.md b/docs/API_REFERENCE.md
index 3ae0660..4b5263a 100644
--- a/docs/API_REFERENCE.md
+++ b/docs/API_REFERENCE.md
@@ -657,7 +657,7 @@ Content-Type: application/json
{
"device_id": "uuid",
"registration_id": "registration-uuid",
- "auth_url": "https://bookmann.com/devices/auth/confirm/abc123",
+ "auth_url": "https://bookhoard.com/devices/auth/confirm/abc123",
"qr_code": "data:image/png;base64,iVBORw0KG...",
"expires_in": 300
}
@@ -681,9 +681,9 @@ Content-Type: application/json
"auth_token": "device-bearer-token...",
"device_id": "uuid",
"sync_endpoints": {
- "progress": "https://bookmann.com/api/sync/progress",
- "metadata": "https://bookmann.com/api/sync/metadata",
- "annotations": "https://bookmann.com/api/sync/annotations"
+ "progress": "https://bookhoard.com/api/sync/progress",
+ "metadata": "https://bookhoard.com/api/sync/metadata",
+ "annotations": "https://bookhoard.com/api/sync/annotations"
}
}
```
diff --git a/docs/CONVERSION_SERVICE.md b/docs/CONVERSION_SERVICE.md
index 6111552..07028b3 100644
--- a/docs/CONVERSION_SERVICE.md
+++ b/docs/CONVERSION_SERVICE.md
@@ -173,7 +173,7 @@ This test verifies:
**Solution**:
1. Check if kepubify or ebook-convert is installed
2. Verify EPUB file is valid and accessible
-3. Check cache directory permissions: `/var/bookmann/cache/kepub`
+3. Check cache directory permissions: `/var/bookhoard/cache/kepub`
4. Review conversion logs for specific error messages
### Cache Issues
diff --git a/docs/Code/bookmann/IMPLEMENTATION_PLAN.md b/docs/Code/bookmann/IMPLEMENTATION_PLAN.md
index f517b06..d5c9311 100644
--- a/docs/Code/bookmann/IMPLEMENTATION_PLAN.md
+++ b/docs/Code/bookmann/IMPLEMENTATION_PLAN.md
@@ -238,16 +238,16 @@ CREATE TABLE device_catalogs (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
device_id UUID REFERENCES devices(id) ON DELETE CASCADE,
media_item_id UUID REFERENCES media_items(id) ON DELETE CASCADE,
- bookmann_uuid UUID NOT NULL,
+ bookhoard_uuid UUID NOT NULL,
kobo_content_id VARCHAR(255) NOT NULL,
- content_id_type VARCHAR(20), -- 'bookmann_uuid', 'kobo_generated', 'isbn_based'
+ content_id_type VARCHAR(20), -- 'bookhoard_uuid', 'kobo_generated', 'isbn_based'
available BOOLEAN DEFAULT TRUE,
delivery_date TIMESTAMP WITH TIME ZONE,
delivery_method VARCHAR(20), -- 'wireless', 'usb', 'manual'
UNIQUE(device_id, kobo_content_id)
);
-CREATE INDEX idx_device_catalogs_bookmann ON device_catalogs(bookmann_uuid);
+CREATE INDEX idx_device_catalogs_bookhoard ON device_catalogs(bookhoard_uuid);
CREATE INDEX idx_device_catalogs_kobo ON device_catalogs(kobo_content_id);
```
@@ -266,9 +266,9 @@ CREATE TABLE system_config (
-- Pre-seeded values
INSERT INTO system_config (key, value) VALUES
-('base_url', 'https://bookmann.example.com'),
-('opds_base_url', 'https://bookmann.example.com/opds'),
-('api_base_url', 'https://bookmann.example.com/api');
+('base_url', 'https://bookhoard.example.com'),
+('opds_base_url', 'https://bookhoard.example.com/opds'),
+('api_base_url', 'https://bookhoard.example.com/api');
```
### Table: opds_tokens (NEW)
@@ -345,7 +345,7 @@ Query Bookhoard for a book by multiple identifier types with confidence scoring.
"matches": [
{
"media_item_id": "uuid-123",
- "bookmann_uuid": "uuid-123",
+ "bookhoard_uuid": "uuid-123",
"confidence": 1.0,
"match_method": "uuid_match"
}
@@ -663,7 +663,7 @@ Main OPDS 1.2 catalog feed.
- urn:uuid:bookmann-uuid-123
+ urn:uuid:bookhoard-uuid-123
The Hobbit
J.R.R. Tolkien
2026-01-31T10:00:00Z
@@ -683,14 +683,14 @@ Main OPDS 1.2 catalog feed.
rel="alternate"/>
- uuid-123
+ uuid-123
- abc123...
+ abc123...
- Science Fiction
- Reading
+ Science Fiction
+ Reading
@@ -709,7 +709,7 @@ OPDS acquisition search endpoint.
urn:uuid:device-id
- urn:uuid:bookmann-uuid-123
+ urn:uuid:bookhoard-uuid-123
The Hobbit
J.R.R. Tolkien
2026-01-31T10:00:00Z
@@ -854,8 +854,8 @@ Kobo progress sync with ContentId mapping (enhanced).
catalog, err := db.GetDeviceCatalogByKoboContentId(ctx, contentId)
if err == nil && catalog.Valid {
// Found! Use canonical Bookhoard UUID
- bookmannUUID = catalog.BookhoardUUID
- return bookmannUUID, nil
+ bookhoardUUID = catalog.BookhoardUUID
+ return bookhoardUUID, nil
}
// Step 2: ContentId not found - try SHA-256 (if looks like hash)
@@ -988,13 +988,13 @@ KOReader annotations sync with SHA-256 support.
#### GET `/api/sync/sidecar/:deviceId`
-Download unified `.bookmann.json` configuration file.
+Download unified `.bookhoard.json` configuration file.
**Response**:
```json
{
"version": "1.0",
- "bookmann": {
+ "bookhoard": {
"opds_catalog": "http://192.168.1.100:8765/opds/devices/kobo-id/catalog",
"sync_api": "http://192.168.1.100:8765/api/sync/kobo",
"opds_base_url": "http://192.168.1.100:8765/opds",
@@ -1003,7 +1003,7 @@ Download unified `.bookmann.json` configuration file.
},
"books": {
"sha256:abc123...": {
- "bookmann_uuid": "uuid-123",
+ "bookhoard_uuid": "uuid-123",
"title": "The Hobbit",
"author": "J.R.R. Tolkien",
"available_formats": ["epub", "kepub"]
@@ -1034,9 +1034,9 @@ Get system-wide configuration.
```json
{
"config": {
- "base_url": "https://bookmann.example.com",
- "opds_base_url": "https://bookmann.example.com/opds",
- "api_base_url": "https://bookmann.example.com/api",
+ "base_url": "https://bookhoard.example.com",
+ "opds_base_url": "https://bookhoard.example.com/opds",
+ "api_base_url": "https://bookhoard.example.com/api",
"auto_convert_kepub": true,
"default_opds_refresh_interval": 3600
}
@@ -1219,7 +1219,7 @@ func EvaluateRules(mediaItem MediaItem, rules []Rule) []RuleEvaluation {
**OPDS Response Structure (OPDS 1.2)**:
```xml
- urn:uuid:bookmann-uuid-123
+ urn:uuid:bookhoard-uuid-123
The Hobbit
J.R.R. Tolkien
2026-01-31T10:00:00Z
@@ -1238,15 +1238,15 @@ func EvaluateRules(mediaItem MediaItem, rules []Rule) []RuleEvaluation {
rel="alternate"/>
- uuid-123
+ uuid-123
- abc123...
- xyz789...
+ abc123...
+ xyz789...
- Science Fiction
- Reading
+ Science Fiction
+ Reading
```
@@ -1367,7 +1367,7 @@ if book.FilePath != "" {
```json
{
"version": "1.0",
- "bookmann": {
+ "bookhoard": {
"opds_catalog": "http://192.168.1.100:8765/opds/devices/kobo-id/catalog",
"sync_api": "http://192.168.1.100:8765/api/sync/kobo",
"opds_base_url": "http://192.168.1.100:8765/opds",
@@ -1376,7 +1376,7 @@ if book.FilePath != "" {
},
"books": {
"sha256:abc123...": {
- "bookmann_uuid": "uuid-123",
+ "bookhoard_uuid": "uuid-123",
"title": "The Hobbit",
"author": "J.R.R. Tolkien",
"available_formats": ["epub", "kepub"]
@@ -1443,14 +1443,14 @@ if book.FilePath != "" {
1. Log into Bookhoard web UI
2. Go to Device Management → Your Kobo device
3. Click "Download Configuration" button
-4. File downloads as `.bookmann.json`
+4. File downloads as `.bookhoard.json`
```
**Step 2: Configure Kobo for OPDS**
```
1. On Kobo, go to Settings → Sync & Backup
2. Tap "Add Content Server" or "Add OPDS Feed"
-3. Enter URL from `.bookmann.json`:
+3. Enter URL from `.bookhoard.json`:
http://192.168.1.100:8765/opds/devices/YOUR_DEVICE_ID/catalog
4. Kobo will automatically:
- Connect to Bookhoard
@@ -1487,7 +1487,7 @@ Same as Kobo setup above
```
1. Open KOReader settings
2. Enable "OPDS catalog" in network/synchronization section
-3. Enter OPDS URL from `.bookmann.json`:
+3. Enter OPDS URL from `.bookhoard.json`:
http://192.168.1.100:8765/opds/devices/YOUR_DEVICE_ID/catalog
4. KOReader will automatically:
- Connect to Bookhoard catalog
@@ -1521,7 +1521,7 @@ Place in KOReader's config directory
**Step 3: Use Sidecar for Progress Sync**
```
-KOReader plugin reads .bookmann.json
+KOReader plugin reads .bookhoard.json
→ Matches local files to Bookhoard UUIDs via SHA-256
→ Syncs progress using canonical UUIDs
→ Works offline
@@ -1622,7 +1622,7 @@ Can be: Public (no authentication required)
### Manual Testing Checklist
**Kobo Workflow**:
-- [ ] Download `.bookmann.json` from web UI
+- [ ] Download `.bookhoard.json` from web UI
- [ ] Transfer to Kobo via USB
- [ ] Configure OPDS URL on Kobo
- [ ] Browse catalog wirelessly
@@ -1631,7 +1631,7 @@ Can be: Public (no authentication required)
- [ ] Verify progress syncs to Bookhoard
**KOReader Workflow**:
-- [ ] Download `.bookmann.json` from web UI
+- [ ] Download `.bookhoard.json` from web UI
- [ ] Configure OPDS URL in KOReader
- [ ] Browse catalog wirelessly
- [ ] Download book
@@ -1669,7 +1669,7 @@ Can be: Public (no authentication required)
- **Media Item Formats**: Tracks all format versions with their hashes. Pre-convert EPUB to KEPUB during scan for optimal performance.
- **System Config**: Key-value store for system-wide settings (base_url, opds_base_url, api_base_url). Enables flexible deployment.
- **OPDS Tokens**: Per-device access tokens for OPDS catalog browsing. Optional - can also support user-scoped and admin tokens.
-- **Sidecar File**: `.bookmann.json` - Unified configuration file for devices. Contains OPDS URLs, sync API endpoints, book mappings, collection mappings.
+- **Sidecar File**: `.bookhoard.json` - Unified configuration file for devices. Contains OPDS URLs, sync API endpoints, book mappings, collection mappings.
- **Auto-Assign Rules**: Configurable criteria for automatically adding books to collections. Fields: genre, series, author, language, publisher, copyright_year, tags. Operators: equals, contains, starts_with, ends_with, greater_than, less_than.
- **Sync Direction**: For device shelf mappings. 'bidirectional' (sync both ways), 'book_to_hoard' (send to device), 'device_to_hoard' (read from device), 'none' (no sync).
- **View Settings**: Per-device preferences for how collections are displayed (grid vs list, which collections are visible).
diff --git a/docs/PHASE1_COMPLETION_SUMMARY.md b/docs/PHASE1_COMPLETION_SUMMARY.md
index 0d5b30e..53f0baa 100644
--- a/docs/PHASE1_COMPLETION_SUMMARY.md
+++ b/docs/PHASE1_COMPLETION_SUMMARY.md
@@ -161,7 +161,7 @@ The conversion service handles multiple failure scenarios:
### Build Verification
```bash
-go build -o /tmp/bookmann-test ./cmd/server
+go build -o /tmp/bookhoard-test ./cmd/server
# Success: Exit code 0
```
diff --git a/docs/PHASE2_COMPLETION_SUMMARY.md b/docs/PHASE2_COMPLETION_SUMMARY.md
index 7529e8b..2f861d5 100644
--- a/docs/PHASE2_COMPLETION_SUMMARY.md
+++ b/docs/PHASE2_COMPLETION_SUMMARY.md
@@ -110,7 +110,7 @@ Get matching suggestions for a specific unlinked book.
"suggestions": [
{
"media_item_id": "uuid-2",
- "bookmann_uuid": "uuid-2",
+ "bookhoard_uuid": "uuid-2",
"confidence": 0.95,
"match_method": "sha256_match"
}
@@ -321,7 +321,7 @@ With default threshold of 0.8, only matches with 80%+ confidence are auto-linked
### Build Verification
```bash
-cd /home/nymusicman/Code/bookmann
+cd /home/nymusicman/Code/bookhoard
go build ./cmd/server # ✅ Successful
cd internal/database && sqlc generate # ✅ Successful
cd templates && templ generate # ✅ Successful
diff --git a/docs/SECURITY_AUDIT.md b/docs/SECURITY_AUDIT.md
index d71feac..8127cde 100644
--- a/docs/SECURITY_AUDIT.md
+++ b/docs/SECURITY_AUDIT.md
@@ -515,4 +515,4 @@ Audit Logs: 180 days
**Audit Completed By**: Bookhoard Security Team
**Next Audit**: Within 3 months of production deployment
-**Questions**: security@bookmann.example.com
+**Questions**: security@bookhoard.example.com
diff --git a/docs/SECURITY_ENHANCEMENTS.md b/docs/SECURITY_ENHANCEMENTS.md
index b15adae..01d240a 100644
--- a/docs/SECURITY_ENHANCEMENTS.md
+++ b/docs/SECURITY_ENHANCEMENTS.md
@@ -284,8 +284,8 @@ e.Pre(
```go
import (
- "bookmann/internal/middleware"
- "bookmann/internal/handlers"
+ "bookhoard/internal/middleware"
+ "bookhoard/internal/handlers"
)
func main() {
@@ -452,7 +452,7 @@ MAX_DEVICES_PER_USER=10
**Step 3: Update Middleware Chain**
```go
// Add to main.go middleware chain
-import "bookmann/internal/middleware"
+import "bookhoard/internal/middleware"
// In main():
securityMiddleware := middleware.HTTPSProtectionMiddleware(true, "8443")
@@ -594,4 +594,4 @@ While the system is production-ready, you may consider:
**Implementation Completed**: January 31, 2026
**Next Review**: Within 3 months
-**Questions**: security@bookmann.example.com
+**Questions**: security@bookhoard.example.com
diff --git a/docs/SYNC_USER_GUIDE.md b/docs/SYNC_USER_GUIDE.md
index e0c8bbf..a05e37c 100644
--- a/docs/SYNC_USER_GUIDE.md
+++ b/docs/SYNC_USER_GUIDE.md
@@ -94,7 +94,7 @@
- Device will receive authentication token
4. **Configure Sync**:
- - Enter the sync URL provided (e.g., `https://bookmann.example.com/api/sync/koreader`)
+ - Enter the sync URL provided (e.g., `https://bookhoard.example.com/api/sync/koreader`)
- Enable auto-sync
- Set sync frequency (recommended: Every page turn)
@@ -103,12 +103,12 @@
1. **From Your Device**:
- Navigate to sync settings
- Select "Bookhoard Sync"
- - Enter server URL: `https://bookmann.example.com`
+ - Enter server URL: `https://bookhoard.example.com`
- Click "Register Device"
- Device will display registration code
2. **In Your Browser**:
- - Go to `https://bookmann.example.com/devices/approve`
+ - Go to `https://bookhoard.example.com/devices/approve`
- Enter registration code
- Approve the device
@@ -505,13 +505,13 @@ A: Yes, HTTPS/TLS 1.3 for all sync traffic.
- **Issues**: Report bugs at GitHub Issues
- **Discussions**: Join GitHub Discussions
-- **Email**: support@bookmann.example.com
+- **Email**: support@bookhoard.example.com
### Community
-- **Forum**: community.bookmann.example.com
-- **Matrix**: #bookmann:matrix.org
-- **Discord**: discord.gg/bookmann
+- **Forum**: community.bookhoard.example.com
+- **Matrix**: #bookhoard:matrix.org
+- **Discord**: discord.gg/bookhoard
---
diff --git a/docs/TESTING.md b/docs/TESTING.md
index 3ca3ec2..a41179e 100644
--- a/docs/TESTING.md
+++ b/docs/TESTING.md
@@ -57,7 +57,7 @@ cmd/server/tests/
export DATABASE_PASSWORD=postgres
# Option 2: Use DATABASE_URL for containerized testing
- export DATABASE_URL="postgresql://user:pass@localhost:5432/bookmann"
+ export DATABASE_URL="postgresql://user:pass@localhost:5432/bookhoard"
```
2. **Dependencies**: Ensure all Go dependencies are installed
@@ -95,8 +95,8 @@ go test -v -run TestAnalyticsReadingStats
```bash
# Build and run tests in Docker container
podman-compose up -d db
-podman build -t bookmann-test .
-podman run --network bookmann_default -e DATABASE_URL="postgresql://postgres:postgres@db:5432/bookmann" bookmann-test go test ./cmd/server/tests/ -v
+podman build -t bookhoard-test .
+podman run --network bookhoard_default -e DATABASE_URL="postgresql://postgres:postgres@db:5432/bookhoard" bookhoard-test go test ./cmd/server/tests/ -v
```
### Test Modes
@@ -452,7 +452,7 @@ jobs:
postgres:
image: postgres:15
env:
- POSTGRES_DB: bookmann
+ POSTGRES_DB: bookhoard
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
options: >-
@@ -469,7 +469,7 @@ jobs:
- name: Run integration tests
env:
- DATABASE_URL: postgresql://postgres:postgres@localhost:5432/bookmann
+ DATABASE_URL: postgresql://postgres:postgres@localhost:5432/bookhoard
run: |
cd cmd/server/tests
go test -v -race -coverprofile=coverage.out
diff --git a/docs/devices/KOBO_SETUP.md b/docs/devices/KOBO_SETUP.md
index 3525955..76906fe 100644
--- a/docs/devices/KOBO_SETUP.md
+++ b/docs/devices/KOBO_SETUP.md
@@ -409,7 +409,7 @@ If you're running Bookhoard with a custom domain or port:
```ini
[Sync]
# Custom domain
-ServerURL=https://bookmann.example.com/api/sync/kobo
+ServerURL=https://bookhoard.example.com/api/sync/kobo
# Custom port
ServerURL=http://192.168.1.100:9000/api/sync/kobo
@@ -424,7 +424,7 @@ If you have SSL/TLS configured on Bookhoard:
```ini
[Sync]
-ServerURL=https://bookmann.yourdomain.com/api/sync/kobo
+ServerURL=https://bookhoard.yourdomain.com/api/sync/kobo
```
Kobo will automatically trust the certificate if properly configured.
diff --git a/docs/devices/KOREADER_SETUP.md b/docs/devices/KOREADER_SETUP.md
index 9039e59..7329fb7 100644
--- a/docs/devices/KOREADER_SETUP.md
+++ b/docs/devices/KOREADER_SETUP.md
@@ -69,7 +69,7 @@ Before you begin, make sure you have:
Find your Bookhoard instance URL. This will typically be one of:
- **Local Network**: `http://YOUR_COMPUTER_IP:8765`
- **Localhost (if testing)**: `http://localhost:8765`
-- **Domain (if configured)**: `https://bookmann.yourdomain.com`
+- **Domain (if configured)**: `https://bookhoard.yourdomain.com`
### Step 2: Register Your Device in Bookhoard