31 lines
1.6 KiB
Markdown
31 lines
1.6 KiB
Markdown
## 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.
|
|
|
|

|
|
|
|
## 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
|
|
- Version endpoint backed by latest GitHub commit (cached)
|
|
|
|
## Setup
|
|
Config those in your .env file:
|
|
|
|
**DOG_NAMES=**`woof, WOOF, Woof` (for "verification")<br>
|
|
**GITHUB_OWNER=**`quoije` (for version history)<br>
|
|
**GITHUB_REPO=**`oscars-pool` (for version history)<br>
|
|
**JWT_SECRET=**`RANDOM STRING` (for authentication token)<br>
|
|
**MONGO_URI=**`mongodb+srv://USER:[email protected]/?retryWrites=true&w=majority&appName=Cluster69`<br>
|
|
**OMDB_API=**`1234567` (for movie info)
|
|
|
|
run with **node .\index.js**
|