Cursor Agentandmathieumoran1 2f767e15a6 feat: Add server-hosted video streaming support
Introduces a new /api/video route for streaming video files stored on the server. This allows for direct playback of local video files with seeking capabilities. The Movie model and UI have been updated to support this new feature.

Co-authored-by: mathieumoran1 <[email protected]>
2025-12-22 05:12:06 +00:00
2025-12-21 13:46:11 -05:00
2025-01-26 16:03:25 -05:00

Oscars Pool 2026

Little nodejs + mongodb app that I hack together with ChatGPT and Cursor to keep track of watched movies for an incoming Oscars Pool with some friends.

Oscars Pool 2026

Features

  • User accounts: register, login, JWT auth
  • Simple registration verification via DOG_NAMES
  • Mark nominees as watched (per user), with watched date
  • Browse movies by Oscar year + API for available years
  • User stats: watched count/ratio and watched titles
  • Movie details pulled from OMDb (title/plot/rating/poster) via IMDb ID
  • Admin movie management: add, edit (optionally refresh from OMDb), delete
  • Built-in player page with multiple source options (VOD link, direct video file, embed)
  • Resume playback: per-user playback progress saving (time/duration)
  • Global settings: active Oscar year, “completion” modal content for checklist
  • Password flows: admin temp password reset + forced change on next login
  • App version display (footer) managed from Admin panel (no GitHub dependency)

Setup

Create a .env file at the project root (same folder as package.json).

Minimal steps:

npm install
node index.js

Add this to your .env (required: MONGO_URI, JWT_SECRET):

# required
MONGO_URI=mongodb://127.0.0.1:27017/oscars-pool # MongoDB connection string
JWT_SECRET=replace-with-a-random-string         # JWT signing secret (auth)

# optional
DOG_NAMES=woof,WOOF,Woof                        # simple registration "verification"
OMDB_API=your_omdb_key                          # OMDb API key (movie info)

Generate a good JWT_SECRET:

openssl rand -hex 32

Database (MongoDB)

This app uses MongoDB via Mongoose. Provide a connection string in MONGO_URI.

  • Use MongoDB Atlas (recommended) or a local MongoDB instance.
  • MONGO_URI examples:
    • Atlas: mongodb+srv://USER:[email protected]/<dbName>?retryWrites=true&w=majority
    • Local: mongodb://127.0.0.1:27017/<dbName>
  • Collections are created/managed automatically from the models in models/ (e.g. User, Movie, Setting, PlaybackProgress).
S
Description
No description provided
Readme
26 MiB
Languages
JavaScript 71.5%
HTML 19.8%
CSS 4.8%
Python 3.9%