BoxOffice

pending

by Vittorio Scaperrotta

A plugin to manage your movie, tv series collection and watchlist directly in your vault.

Updated 1mo agoMITDiscovered via Obsidian Unofficial Plugins
View on GitHub

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:

  1. Request a key at https://www.omdbapi.com/apikey.aspx
  2. Open Settings → BoxOffice and paste your key into the OMDb API Key field.

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

  1. Click the clapperboard icon in the Obsidian ribbon to open the BoxOffice view.
  2. Search for a title using the search bar.
  3. 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.