Attempt at a book and maybe more cataloging web application
  • Elixir 74.7%
  • HTML 22.6%
  • JavaScript 1.4%
  • CSS 0.7%
  • Dockerfile 0.5%
  • Other 0.1%
Find a file
Jeremy Knope d7050bd31b
Merge pull request #40 from jfro/jtk/edition-fix
Fix incorrect edition used from OpenLibrary queries & add language
2026-01-05 19:31:42 -05:00
.cog chore: fix bump script for GNU sed 2026-01-02 20:16:08 -05:00
.github/workflows ci: add changelog to releases 2026-01-05 11:46:00 -05:00
assets fix: close not working on sync flash messages - fixes #4 2025-09-13 18:07:14 -04:00
config fix: use proper edition from OL if ISBN lookup used, also add language 2026-01-05 11:45:34 -05:00
docs chore: bump to 0.3 for future release, add a screenshot of main page 2025-08-23 18:28:52 -04:00
lib fix: use proper edition from OL if ISBN lookup used, also add language 2026-01-05 11:45:34 -05:00
priv fix: use proper edition from OL if ISBN lookup used, also add language 2026-01-05 11:45:34 -05:00
rel/overlays/bin fix: further fixes for docker & uploaded/imported cover path issue 2025-08-17 14:03:14 -04:00
test fix: support using API's media type if present in batch scanner 2025-10-24 14:24:19 -04:00
.dockerignore feat: docker configuration 2025-08-17 09:36:39 -04:00
.env.sample fixed missing ? 2025-12-29 11:19:10 +01:00
.formatter.exs initial commit, basic book adding & editing 2025-08-08 20:00:22 -04:00
.gitignore chore: remove claud local settings from git & ignore it 2026-01-05 19:13:52 -05:00
AGENTS.md feat: authentication, some formatting as well 2025-08-09 16:48:48 -04:00
CHANGELOG.md chore: bump version to 0.5.1 2026-01-02 20:16:13 -05:00
CLAUDE.md fix: dates now ISO strings to allow for just year publication dates, 2025-08-17 20:30:21 -04:00
cog.toml chore: add cog for changelog/tagging 2026-01-02 20:02:46 -05:00
docker-compose.yaml Update PostgreSQL healthcheck command and user 2025-12-20 20:32:13 +01:00
Dockerfile chore(ci): setup tag based image publishing, including other archs as 2025-08-18 21:54:55 -04:00
LICENSE Add MIT license 2025-08-17 10:18:24 -04:00
mise.local.sample.toml chore: add sample mise local config with env 2025-08-15 13:29:57 -04:00
mise.toml fix: catch & error if missing uid or email from OIDC fixes #31 2025-12-24 19:09:18 -05:00
mix.exs chore: bump version to 0.5.1 2026-01-02 20:16:13 -05:00
mix.lock feat: basic OIDC auth support via assent 2025-08-29 19:13:30 -04:00
README.md chore: update readme & changelog 2025-09-27 16:28:18 -04:00

FuzzyCatalog

About

A book catalogging application that allows you to keep track of the books you own, both digital and physical.

screenshot of fuzzy catalog book list page

Under Development

This is still pretty heavily under development, but closing in on something I think I can personally use. I hope it may be useful to others who were looking for something to catalog their physical books & more with. Hopefully more to come!

Features

  • Barcode scanning of physical books via keyboard input scanners (webcam one may still work but have not had much luck with it)
  • Ability to sync with digital libraries, currently from Audiobookshelf (via API), Calibre (via actual path to library files), & BookLore via API
  • Adding books via title or ISBN pulls metadata from Open Library or Google Books (Library of Congress available but not sure it's worth using)

Environment Setup

Env Usage
DATABASE_URL REQUIRED postgres database URL, i.e.: ecto://user:password@host:port/database
SECRET_KEY_BASE REQUIRED random secret
PHX_HOST domain to use (i.e. localhost)
PORT port to use, default is 4000
AUDIOBOOKSHELF_URL URL to an instance of Audiobookshelf for syncing
AUDIOBOOKSHELF_API_KEY API key for Audiobookshelf
AUDIOBOOKSHELF_LIBRARIES Comma separated list of library names to sync from Audiobookshelf
CALIBRE_LIBRARY_PATH Path to Calibre library files, including ebooks & metadata.db file
BOOKLORE_URL URL for a BookLore instance to sync with
BOOKLORE_USERNAME Username for a BookLore
BOOKLORE_PASSWORD Password for BookLore

Possible TODO

  • Expose mail sending configuration (Swoosh settings) to ENV
  • Support for other digital libraries like Kavita, Calibre-Web (OPDS), and more
  • Explore adding support for other physical items like movies or games

Local Dev

To start your Phoenix server:

  • Run mix setup to install and setup dependencies
  • Start Phoenix endpoint with mix phx.server or inside IEx with iex -S mix phx.server

Now you can visit localhost:4000 from your browser.

Ready to run in production? Please check our deployment guides.

Learn more