BoxOffice
pendingby Vittorio Scaperrotta
A plugin to manage your movie, tv series collection and watchlist directly in your vault.
BoxOffice — Movie Library
BoxOffice is an Obsidian plugin that turns your vault into a personal library for movies and TV shows. It allows searching data from OMDb, saving a local library as JSON, and managing watchlists and star ratings directly inside Obsidian.
Overview
- Search movies/series via OMDb and retrieve details (plot, poster, ratings).
- Local library with "to watch" / "watched" states and personal star ratings.
- Quick add/remove of items with metadata synchronization.
- In-vault saving as a JSON file (default folder
BoxOffice/libraryStorage.json). - Responsive UI with grid or list views and modals for details/actions.
Demo
Features
Settings
Requirements
- Node.js >= 22.16.0 (for development/build scripts)
Development
Main commands (project root):
npm install
npm run dev # development mode (esbuild + watch sass)
npm run build # production build
Build scripts and configuration are in package.json and esbuild.config.mjs.
Configuration
OMDb API Key
To use search and retrieve full details, an OMDb API key is required:
- Request a key at https://www.omdbapi.com/apikey.aspx
- Open Settings → BoxOffice and paste your key into the
OMDb API Keyfield.
The plugin does not require a key for local features (library viewing), but OMDb search will not work without one.
Library folder and file
By default the library is saved in a BoxOffice folder inside the vault as libraryStorage.json. You can create multiple files (generated as boxoffice-<timestamp>.json) and the plugin provides functions to create/load/save the JSON.
Quick Start
- Click the clapperboard icon in the Obsidian ribbon to open the BoxOffice view.
- Search for a title using the search bar.
- Click a result to open details, then use actions to add it, mark as watched, or rate it.
Project Structure (summary)
src/
├── main.ts # Plugin entrypoint (lifecycle, settings, view)
├── constants.ts # Shared constants (e.g. VIEW_TYPE)
├── CineVault.ts # Main logic / helpers (if present)
├── services/
│ ├── libraryStorage.ts # Functions for creating/loading/saving JSON
│ └── omdbService.ts # Wrapper for OMDb requests (search, details)
├── settings/
│ └── settingsTab.ts # Settings UI tab
├── ui/ # UI components, modals, suggestions
└── views/
└── PluginView.ts # Main view UI
Version: 1.0.0 Minimum Obsidian Version: 0.15.0
If you want to support development: https://ko-fi.com/vittorioscaperrotta
For plugin developers
Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.