Skip to content
alexmaiettaPublic

About

A local-first, self-hosted application to catalog things.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

⚠️ This project is in active beta development. This means the API is unstable, features may be added or removed, and breaking changes are likely to occur frequently and without notice as the design is refined.

openlib

A local-first, self-hosted application to catalog things (Currently, focused on books but future work will tackle movies, cds, board games...).

See a demo of the static, immutable version here.

Features

  • Add books by ISBN, barcode scanner, manual search, and much more
  • Search through the catalog
  • Hide thumbnails and covers to truly not judge a book by its cover
  • Pick a random book for your next read
  • Deploy a public variant of the site that is static, immutable, and optionally void of any personal activity information

Future Features

  • The much more of the import options

  • Upload custom thumbnail images for covers or use the default

  • Track your reading progress, leave ratings and reviews

  • View fun statistics about your library and activity

  • Sync across multiple devices

  • Cross platform and device

  • CI/CD

  • Documentation

Getting Started

npm install # Install all workspace deps
npm run build # Production build: server, web
npm run dev # Open up http://localhost:5173

Other commands:

npm run typecheck # Typecheck every workspace
npm run db:generate # Regenerate Drizzle migrations after a schema change
npm run db:migrate # Apply migrations standalone (also runs on server boot)

Trying things out against a throwaway catalog instead of your real one,

npm run build:sandbox # (Re)builds a fake catalog of ~12 well-known books at .openlib-sandbox/, looked up live from Open Library
npm run dev:sandbox # Runs the app pointed at .openlib-sandbox/ instead of the default data dir

Exporting static non-editable version,

npm run build:public # Build
npm run dev:public # Run

Building the public demo (sandbox catalog, personal data stripped) that powers the GitHub Pages deploy,

npm run build:demo # Rebuilds the sandbox, then exports it to .openlib-sandbox/exports/public/

Developing

Coming soon.

Other related projects

About

A local-first, self-hosted application to catalog things.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages