Thanks to visit codestin.com
Credit goes to github.com

Skip to content

zhtipu1/CourseVault

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 

Repository files navigation

CourseVault

Screenshot 2026-06-21 232340

CourseVault is a fully offline desktop application for organizing and watching your downloaded video courses. No accounts, no cloud, no tracking - everything lives on your machine.


Features

  • Automatic course scanning - point CourseVault at a folder and it builds the full module/lesson hierarchy automatically, supporting up to 4 levels of nesting
  • Progress tracking - lessons are marked complete as you watch; pick up exactly where you left off
  • Wide format support - plays MP4, WebM, MOV natively; remuxes MKV, AVI, TS, FLV and more to MP4 on the fly via FFmpeg (no re-encoding, just a container swap)
  • Manual course builder - create and structure courses by hand when auto-scan isn't what you need
  • Timestamped notes & bookmarks - attach notes to any moment in a video, exportable to Markdown
  • Subtitle support - load .srt or .vtt files alongside any lesson
  • Watchdog auto-detection - new video files dropped into watched folders are picked up without a manual rescan
  • Course completion celebration - animated confetti popup when you finish a course
  • Debug mode - optional timestamped log files for diagnosing issues

Tech Stack

Layer Technology
UI shell pywebview (WebView2 on Windows, WKWebView on macOS)
Backend Flask (local HTTP server, 127.0.0.1)
Database SQLite via Python sqlite3 (WAL mode)
Video remux FFmpeg (optional, user-supplied)
File watching Watchdog
Frontend Vanilla JS + CSS (no frameworks)

Requirements

  • Python 3.10+
  • Windows 10/11 (WebView2 runtime, included in Win11) or macOS 11+
  • FFmpeg - only needed for MKV/AVI/TS playback; MP4 and WebM work without it

Building a Standalone Executable

CourseVault uses PyInstaller to produce a self-contained .exe (Windows) or .app (macOS).

pip install pyinstaller
pyinstaller coursevault.spec

Output lands in dist/CourseVault/CourseVault.exe. Copy the entire dist/CourseVault/ folder to distribute - the exe is not standalone without its _internal/ directory.

FFmpeg is not bundled. Place ffmpeg.exe anywhere on your machine and set the path in Settings → FFmpeg.


Data Storage

When running as a compiled app, all user data is stored outside the install directory so it survives updates:

Platform Location
Windows %APPDATA%\CourseVault\
macOS ~/Library/Application Support/CourseVault/
Linux ~/.coursevault/

Contents:

CourseVault/
├── data/
│   └── coursevault.db     ← SQLite database (courses, progress, notes)
├── cache/
│   └── *.mp4              ← Remuxed video cache
└── debug/
    └── coursevault_*.log  ← Debug logs (when debug mode is on)

Supported Video Formats

Type Formats
Native (no FFmpeg needed) .mp4 .webm .mov .m4v .mpeg .mpg .3gp
Remux via FFmpeg .mkv .avi .flv .wmv .ts .m2ts .vob .divx .rm

About

**CourseVault** is a fully offline desktop application for organizing and watching your downloaded video courses. No accounts, no cloud, no tracking - everything lives on your machine.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors