mirror of
https://github.com/calibrain/shelfmark.git
synced 2026-02-20 15:56:36 -05:00
## Headline features ### Prowlarr plugin - search trackers and download usenet/torrent books - Search any usenet/torrent tracker via Prowlarr, returns books within Universal search - Configure download clients in the app settings (Qbittorrent, Deluge, Transmission, NZBget, SABnzbd) - Unified download and file handling within the app, same as AA. ### IRC plugin - Search IRCHighway #ebooks channel for books and download right in the app. - No setup needed - Credit to OpenBooks for the broad idea and inspiration for best practices for ebook-specific search and download. ### Google Books Metadata Provider - Create a Google Cloud API key and use Google Books as a metadata provider - Not the best source (Hardcover is still recommended), but another option and further redundancy for universal search ### Book series support - New "Series" search field in Hardcover provider - "Series order" sort option - lists books in reading order - "View Series" button in book details modal to search the full series - Series info display (e.g., "3 of 12 in The Wheel of Time") ## Others: - Better format filtering, helpful errors when formats rejected (e.g., "Found 3 ebooks but format not supported (.pdf). Enable in Settings > Formats." - Directory processing - Handles multi-file torrent/usenet downloads properly - Expand search toggle - Skip ISBN search to find more editions - Filtered authors - Uses primary authors only (excludes translators/narrators) for better search results - Language multi-select - Filter releases by multiple languages Docker / Build / Testing - pip cache mounts - Faster Docker builds via BuildKit cache - npm cache mounts - Faster frontend builds - APT cleanup - Smaller final image size - Added make restart command for quick restarts without rebuild - New pytest-based test framework with proper configuration (pyproject.toml) - Unit tests for all download clients (qBittorrent, Transmission, Deluge, NZBGet, SABnzbd) - Bencode parsing tests - Cache tests - Integration tests for Prowlarr handler - E2E test framework
85 lines
2.3 KiB
Makefile
85 lines
2.3 KiB
Makefile
.PHONY: help install dev build preview typecheck clean up down docker-build refresh restart
|
|
|
|
# Frontend directory
|
|
FRONTEND_DIR := src/frontend
|
|
|
|
# Docker compose file
|
|
COMPOSE_FILE := docker-compose.dev.yml
|
|
|
|
# Default target
|
|
help:
|
|
@echo "Available targets:"
|
|
@echo ""
|
|
@echo "Frontend:"
|
|
@echo " install - Install frontend dependencies"
|
|
@echo " dev - Start development server"
|
|
@echo " build - Build frontend for production"
|
|
@echo " preview - Preview production build"
|
|
@echo " typecheck - Run TypeScript type checking"
|
|
@echo " clean - Remove node_modules and build artifacts"
|
|
@echo ""
|
|
@echo "Backend (Docker):"
|
|
@echo " up - Start backend services"
|
|
@echo " down - Stop backend services"
|
|
@echo " restart - Restart backend services (no rebuild)"
|
|
@echo " docker-build - Build Docker image"
|
|
@echo " refresh - Rebuild and restart backend services"
|
|
|
|
# Install dependencies
|
|
install:
|
|
@echo "Installing frontend dependencies..."
|
|
cd $(FRONTEND_DIR) && npm install
|
|
|
|
# Start development server
|
|
dev:
|
|
@echo "Starting development server..."
|
|
cd $(FRONTEND_DIR) && npm run dev
|
|
|
|
# Build for production
|
|
build:
|
|
@echo "Building frontend for production..."
|
|
cd $(FRONTEND_DIR) && npm run build
|
|
|
|
# Preview production build
|
|
preview:
|
|
@echo "Previewing production build..."
|
|
cd $(FRONTEND_DIR) && npm run preview
|
|
|
|
# Type checking
|
|
typecheck:
|
|
@echo "Running TypeScript type checking..."
|
|
cd $(FRONTEND_DIR) && npm run typecheck
|
|
|
|
# Clean build artifacts and dependencies
|
|
clean:
|
|
@echo "Cleaning build artifacts and dependencies..."
|
|
rm -rf $(FRONTEND_DIR)/node_modules
|
|
rm -rf $(FRONTEND_DIR)/dist
|
|
|
|
# Start backend services
|
|
up:
|
|
@echo "Starting backend services..."
|
|
docker compose -f $(COMPOSE_FILE) up -d
|
|
|
|
# Stop backend services
|
|
down:
|
|
@echo "Stopping backend services..."
|
|
docker compose -f $(COMPOSE_FILE) down
|
|
|
|
# Build Docker image
|
|
docker-build:
|
|
@echo "Building Docker image..."
|
|
docker compose -f $(COMPOSE_FILE) build
|
|
|
|
# Restart backend services (no rebuild)
|
|
restart:
|
|
@echo "Restarting backend services..."
|
|
docker compose -f $(COMPOSE_FILE) restart
|
|
|
|
# Rebuild and restart backend services
|
|
refresh:
|
|
@echo "Rebuilding and restarting backend services..."
|
|
docker compose -f $(COMPOSE_FILE) down
|
|
docker compose -f $(COMPOSE_FILE) build
|
|
docker compose -f $(COMPOSE_FILE) up -d
|