Skip to content

Latest commit

 

History

History
29 lines (21 loc) · 1.31 KB

File metadata and controls

29 lines (21 loc) · 1.31 KB

Developer Documentation

Documentation for developers and maintainers.

Getting Started

  1. Development Guide — Local setup, build, and release
  2. Library Destinations Architecture — Multi-destination runtime model and data flow
  3. Screenshot Naming and Placeholders — Standard screenshot filenames and markdown placeholders

Project Structure

Core packages:

  • cmd/server/ — Main web server entry point
  • internal/library/ — Sync, download, and destination fan-out logic
  • internal/mediaserver/ — Backend implementations (Plex/Emby/Jellyfin/ABS)
  • internal/audio/ — Download, decrypt, metadata enrichment (relies on go-audible)
  • internal/database/ — SQLite/Postgres schema and query layer
  • internal/web/ — HTTP handlers, templates, assets
  • internal/organizer/ — File organization and metadata writing
  • internal/scheduler/ — Cron-based library sync scheduling

Dependencies

  • go-audible — Audible API client and auth handler
  • Gin — HTTP framework
  • ffmpeg — Audio encoding/decoding (auto-downloaded if not on PATH)
  • modernc.org/sqlite — Pure Go SQLite (no CGO needed)