Commit Graph
207 Commits
Author SHA1 Message Date
Mathieu Moran f9d8722b4e Add low-quality server video support
Include low-quality video file paths in movie settings, expose them through the admin UI, and add a player toggle that streams /api/video with quality=low when available. Extend both Node and Python video endpoints to serve the low-quality file.

Test: not run (mark for testing)
2026-01-24 09:26:23 -05:00
Mathieu Moran b00280e9e4 Add CAM tagging to movies
Store a CAM flag in the movie model and expose it via the admin add/edit flow, then render a CAM badge on movie posters in the films page.
2026-01-22 14:26:43 -05:00
Mathieu Moran d10164076c Refactor control panel: merge Lecteur tab into Visibilité and add loading bar to Mes picks
- Remove 'Lecteur' subtab from Réglages section
- Move player UI settings (show Source/Progress) into Visibilité tab
- Consolidate reload/save buttons to use single set for both visibility and player UI settings
- Simplify visibility tab formatting with minimalistic, consistent styling
- Add loading bar progress indicator to Mes picks tab matching movies/checklist/stats pages
- Update JavaScript to handle both visibility config and player UI settings together
- Improve code organization and user experience
2025-12-28 02:20:21 -05:00
Mathieu Moran 211c115d41 Remove unnecessary files and add OS/Python cache files to .gitignore
- Remove .DS_Store (macOS system file)
- Remove Python __pycache__ files (compiled bytecode)
- Add .DS_Store, Thumbs.db, desktop.ini to .gitignore
- Add Python cache patterns (__pycache__/, *.pyc, *.pyo, *.pyd) to .gitignore
2025-12-28 01:31:45 -05:00
Mathieu Moran fb07c81a43 Add note that application interface is in French 2025-12-28 01:03:07 -05:00
Mathieu Moran b6df70864d Update README files with comprehensive feature documentation
- Main README.md:
  - Reorganized features into User Features and Admin Features sections
  - Added missing features: Oscar picks system, category management, winner management, view all picks, database backup/restore
  - Updated database models section to list all 6 models
  - Simplified Python video server section to reference detailed README
  - Kept preview image and existing structure

- python_video_server/README.md:
  - Enhanced Endpoints section with response codes and detailed descriptions
  - Added comprehensive Functions Reference section:
    - Public Endpoints: create_video_session, stream_video, healthz
    - Helper Functions: all 16 internal functions documented with descriptions
  - Verified all features, environment variables, and endpoints match actual code
  - No content removed, only additions for better documentation
2025-12-28 00:59:27 -05:00
Mathieu Moran ccf7340727 Remove unused uploads directory creation code 2025-12-28 00:50:14 -05:00
Mathieu Moran e8dabad3c2 Clean up: Add uploads, exemple, and OCR files to .gitignore and remove from repository 2025-12-28 00:50:04 -05:00
Mathieu Moran 6a2ec537e9 Fix category management and remove import feature
- Fix category editing: Added GET /api/categories/:categoryId endpoint to fetch single category by ID, fixing 'Category not found' error when editing categories for active year
- Fix picks handling: Filter out picks for deleted categories when submitting, loading, and calculating scores to prevent errors
- Fix scores display: Always calculate scores from pickDetails instead of stored score value to ensure accuracy when categories are removed
- Add picks cleanup: Automatically clean up picks for deleted categories in database when categories are deleted or scores are fetched
- Fix winner clearing: Allow clearing winners by accepting empty/null winnerName in PUT /api/categories/:categoryId/winner
- Enable category number editing: Made category number editable in edit modal with validation and conflict checking; automatically updates all related picks when category number changes
- Add bulk category management: Added bulk select and delete functionality in Liste tab with select all checkbox and bulk delete button
- Remove import feature: Completely removed PDF/image import functionality including OCR, file upload, and all related UI components
- Update dependencies: Removed unused packages (tesseract.js, sharp, pdfjs-dist, canvas) after removing import feature
- Improve file cleanup: Added retry logic for file deletion to handle Windows file locking issues
2025-12-28 00:48:48 -05:00
Mathieu Moran 7d8077774b Add unsaved changes tracking with banner and button state management in picks tab 2025-12-27 23:38:23 -05:00
Mathieu Moran dc726b9b71 Remove video files and update file structure 2025-12-27 23:22:55 -05:00
Mathieu Moran b39849f745 Filter out scores for removed users in Scores tab (prevent Unknown user display) 2025-12-27 23:21:32 -05:00
Mathieu Moran 9979682beb Add .gitignore rule to ignore files in public/video/ 2025-12-27 23:16:47 -05:00
Mathieu Moran bf45de3bbc Make header logo clickable to navigate to movies page on all pages 2025-12-27 23:07:05 -05:00
Mathieu Moran 70b309d1ae Add visibility toggle for picks features and rename Mes choix to Mes picks
- Renamed 'Mes choix' to 'Mes picks' across all pages and JavaScript files
- Added visibility toggle in control panel (Réglages > Visibilité) to control:
  - Display of 'Mes picks' button in navigation
  - Display of 'Bon picks' column in user statistics
- Combined both visibility options into single toggle for simplicity
- Added backend API endpoints for visibility configuration
- Implemented localStorage caching for instant visibility updates
- Fixed flash of content issues when navigating between pages
- Updated stats endpoint to calculate correct picks on-the-fly from current winners
- Renamed 'Bonnes réponses' to 'Bon picks' in user statistics table
2025-12-27 22:03:01 -05:00
quoije 1281d77c4e WIP: Add points system for movies and picks, admin configuration, and stats page updates 2025-12-26 12:37:30 -05:00
Mathieu Moran 7722ac89c3 update preview and fix image url 2025-12-22 23:33:00 -05:00
Mathieu Moran b2da6de9b3 fix logo 2025-12-22 21:22:05 -05:00
Mathieu MoranandCursor Agent e0d5531041 Movie watch progression tracking (#63)
* feat: Add movie playback progress display and API

Co-authored-by: mathieumoran1 <[email protected]>

* Add padding to bottom of movies page

Co-authored-by: mathieumoran1 <[email protected]>

* Fix: Hide resume/progress bar when near end of video

Co-authored-by: mathieumoran1 <[email protected]>

---------

Co-authored-by: Cursor Agent <[email protected]>
2025-12-22 19:58:37 -05:00
Mathieu MoranandCursor Agent 79b9f4a5a3 Statistics page redesign (#60)
* feat: Add modal to display watched movies with details

Co-authored-by: mathieumoran1 <[email protected]>

* Refactor movie modal: remove search, improve category display

Co-authored-by: mathieumoran1 <[email protected]>

* Refactor movie category display to use details element

Co-authored-by: mathieumoran1 <[email protected]>

* Refactor movie playback and add clickability to stats

Co-authored-by: mathieumoran1 <[email protected]>

* Refactor: Improve movie linking and player logic

Co-authored-by: mathieumoran1 <[email protected]>

* Prevent caching of sensitive and dynamic API data

Co-authored-by: mathieumoran1 <[email protected]>

* feat: Prevent caching of sensitive admin data

Co-authored-by: mathieumoran1 <[email protected]>

* feat: Add no-cache headers to API requests

Co-authored-by: mathieumoran1 <[email protected]>

* Remove unused movie sorting functionality

The movie sorting dropdown and its associated logic were removed as they are no longer needed.

Co-authored-by: mathieumoran1 <[email protected]>

* Refactor admin settings to use tabs instead of accordion

Co-authored-by: mathieumoran1 <[email protected]>

* Refactor: Adjust button layout for active year selection

Co-authored-by: mathieumoran1 <[email protected]>

* Refactor active year selection UI

Co-authored-by: mathieumoran1 <[email protected]>

* Refactor: Improve admin settings layout for better responsiveness

Co-authored-by: mathieumoran1 <[email protected]>

* Remove redundant completion explanation from user-stat.html

Co-authored-by: mathieumoran1 <[email protected]>

* Refactor user stats page to display year in ranking tab badge

Co-authored-by: mathieumoran1 <[email protected]>

* Refactor: Rename 'Finisseur(s)' column to 'Nombre'

Co-authored-by: mathieumoran1 <[email protected]>

* Refactor: Remove redundant completer count column

Co-authored-by: mathieumoran1 <[email protected]>

---------

Co-authored-by: Cursor Agent <[email protected]>
2025-12-22 18:16:37 -05:00
Mathieu MoranandCursor Agent 82f9462dda Admin movies tab redesign (#59)
* Refactor admin movie tab into sub-tabs for manage, add, and help

Co-authored-by: mathieumoran1 <[email protected]>

* Refactor admin version management UI and styling

Co-authored-by: mathieumoran1 <[email protected]>

* Refactor: Adjust footer padding and border-radius

Co-authored-by: mathieumoran1 <[email protected]>

* Refactor: Improve admin subtab styling

Co-authored-by: mathieumoran1 <[email protected]>

* Refactor admin backup tab into subtabs for backup, restore, and help

Co-authored-by: mathieumoran1 <[email protected]>

* Refactor admin winners tab UI and functionality

Co-authored-by: mathieumoran1 <[email protected]>

* Refactor: Display all winners by year, not just current year

Co-authored-by: mathieumoran1 <[email protected]>

* Refactor winners tab to simplify management

Co-authored-by: mathieumoran1 <[email protected]>

* Refactor control.html layout for winner section

Co-authored-by: mathieumoran1 <[email protected]>

* Refactor 100% completion modal UI with tabs and preview

Co-authored-by: mathieumoran1 <[email protected]>

* Remove redundant 'Preview' and 'Modal' badges

Co-authored-by: mathieumoran1 <[email protected]>

---------

Co-authored-by: Cursor Agent <[email protected]>
2025-12-22 17:15:46 -05:00
Mathieu MoranandCursor Agent 647a0b6a47 Readme file updates (#57)
* Refactor READMEs and clarify optional features

Co-authored-by: mathieumoran1 <[email protected]>

* Add video auth details and Let's Encrypt helper

Co-authored-by: mathieumoran1 <[email protected]>

---------

Co-authored-by: Cursor Agent <[email protected]>
2025-12-22 16:32:17 -05:00
Mathieu MoranandCursor Agent eeaf2592ea Docs: Add more .env options and python server details (#56)
Co-authored-by: Cursor Agent <[email protected]>
2025-12-22 16:23:28 -05:00
Mathieu MoranandCursor Agent 59eb70dea9 Player text visibility option (#55)
* feat: Add player admin UI settings

Co-authored-by: mathieumoran1 <[email protected]>

* Refactor player UI settings to combine source and progress

Co-authored-by: mathieumoran1 <[email protected]>

* Refactor admin settings to use accordion layout

Co-authored-by: mathieumoran1 <[email protected]>

---------

Co-authored-by: Cursor Agent <[email protected]>
2025-12-22 16:17:31 -05:00
Mathieu Moran 57918f8b88 Fix image link in README.md
Updated image link in README for Oscars Pool 2026.
2025-12-22 05:43:02 -05:00
Mathieu Moran 2da9e44105 Merge pull request #54 from quoije/2026-video.backend
add video backend server, fix styling and more
2025-12-22 05:42:04 -05:00
Mathieu Moran 8c4941b0a2 Update README.md 2025-12-22 05:40:50 -05:00
Mathieu Moran 9d3376bbb0 update preview v2.1 2025-12-22 05:39:25 -05:00
Mathieu MoranandCursor Agent 421206d280 Checklist styling update (#53)
* Refactor checklist styling and structure

Co-authored-by: mathieumoran1 <[email protected]>

* Refactor movie display and styling for better UI

Co-authored-by: mathieumoran1 <[email protected]>

* feat: Add page loader component and integrate into player

Co-authored-by: mathieumoran1 <[email protected]>

* Refactor: Adjust IMDB icon size and alignment

Co-authored-by: mathieumoran1 <[email protected]>

* Feat: Show admin status on player page

Co-authored-by: mathieumoran1 <[email protected]>

---------

Co-authored-by: Cursor Agent <[email protected]>
2025-12-22 05:36:33 -05:00
Mathieu MoranandCursor Agent 1a460ca06c Fix: Prevent early client progress saves from overwriting server progress (#52)
Co-authored-by: Cursor Agent <[email protected]>
2025-12-22 05:08:53 -05:00
Mathieu MoranandCursor Agent a75a024249 Fix: Improve playback progress saving and retrieval (#51)
Co-authored-by: Cursor Agent <[email protected]>
2025-12-22 04:54:03 -05:00
Mathieu MoranandCursor Agent d933d69b5f feat: Add IMDb ID to playback progress and auto-mark as watched (#50)
Co-authored-by: Cursor Agent <[email protected]>
2025-12-22 04:39:52 -05:00
Mathieu MoranandCursor Agent 5325576dc4 Dns validation for https (#49)
* Add DNS-01 challenge support for Let's Encrypt

Co-authored-by: mathieumoran1 <[email protected]>

* Refactor letsencrypt script to use /dev/tty for interactive prompts

Co-authored-by: mathieumoran1 <[email protected]>

* feat: Add optional DNS hook mode for certonly

Co-authored-by: mathieumoran1 <[email protected]>

* Refactor: Improve MongoDB connection and add certifi

Co-authored-by: mathieumoran1 <[email protected]>

* Checkpoint before follow-up message

Co-authored-by: mathieumoran1 <[email protected]>

---------

Co-authored-by: Cursor Agent <[email protected]>
2025-12-22 04:16:45 -05:00
Mathieu MoranandCursor Agent 812590d262 Add Python-only Let's Encrypt certificate management (#48)
Co-authored-by: Cursor Agent <[email protected]>
2025-12-22 03:20:41 -05:00
Mathieu Moran 1b27b378ec Merge pull request #47 from quoije/cursor/page-title-and-player-ui-a564
Page title and player UI
2025-12-22 03:06:19 -05:00
Cursor Agentandmathieumoran1 20d0a52f78 Refactor: Organize movie edit form into tabs
Separate movie info and video player settings into distinct tabs for better organization and user experience.

Co-authored-by: mathieumoran1 <[email protected]>
2025-12-22 07:40:03 +00:00
Cursor Agentandmathieumoran1 dfd8e9b4fd Fix: Adjust log off button size
Co-authored-by: mathieumoran1 <[email protected]>
2025-12-22 07:37:42 +00:00
Cursor Agentandmathieumoran1 0c488319f6 Refactor: Rename "Oscar Pool" to "Pool Oscars" in titles
Co-authored-by: mathieumoran1 <[email protected]>
2025-12-22 07:33:32 +00:00
Cursor Agentandmathieumoran1 76e9a934d6 Refactor: Update brand name and dynamic titles
Consistently use "Oscar Pool" as the brand name. Dynamically update page titles to include the active Oscar year.

Co-authored-by: mathieumoran1 <[email protected]>
2025-12-22 07:31:26 +00:00
Mathieu Moran 88129ca5ac Merge pull request #46 from quoije/cursor/webplayer-bug-fixes-aea1
Webplayer bug fixes
2025-12-22 02:20:31 -05:00
Cursor Agentandmathieumoran1 e91c919b46 Refactor: Use query token for API video playback
Co-authored-by: mathieumoran1 <[email protected]>
2025-12-22 07:11:03 +00:00
Cursor Agentandmathieumoran1 fd881399cd Add caching and token fallback for /api/video streams
Co-authored-by: mathieumoran1 <[email protected]>
2025-12-22 07:02:32 +00:00
Cursor Agentandmathieumoran1 8d93c31df8 Refactor video progress tracking UI and logic
Improve progress UI, handle token expiration, and fix restore logic.

Co-authored-by: mathieumoran1 <[email protected]>
2025-12-22 06:57:58 +00:00
Mathieu Moran f65d92743e Merge pull request #45 from quoije/cursor/video-server-and-timestamp-fc01
Video server and timestamp
2025-12-22 01:50:21 -05:00
Cursor Agentandmathieumoran1 1cda3c23e1 Refactor video progress saving logic
Co-authored-by: mathieumoran1 <[email protected]>
2025-12-22 06:43:29 +00:00
Cursor Agentandmathieumoran1 ce234d0fac feat: Add video playback progress display and saving
Co-authored-by: mathieumoran1 <[email protected]>
2025-12-22 06:40:18 +00:00
Cursor Agentandmathieumoran1 8590c30596 Add support for App/Python protected video streams
Co-authored-by: mathieumoran1 <[email protected]>
2025-12-22 06:33:45 +00:00
Cursor Agentandmathieumoran1 53eb7faf06 Add fallback for MONGO_DB_NAME from MONGO_URI
Co-authored-by: mathieumoran1 <[email protected]>
2025-12-22 06:00:31 +00:00
Cursor Agentandmathieumoran1 60fd5a25ce Refactor: Read environment variables at runtime
This change ensures that environment variables are read at runtime, which is important for worker reloads on Windows.

Co-authored-by: mathieumoran1 <[email protected]>
2025-12-22 05:57:35 +00:00
Cursor Agentandmathieumoran1 2025f0231c Add movie ID display and copy functionality
Co-authored-by: mathieumoran1 <[email protected]>
2025-12-22 05:38:42 +00:00