MeatFlicks is a SvelteKit 2 (Svelte 5 runes) web application for exploring and streaming movies and TV series. It stores a curated library in a local SQLite database with FTS5 full-text search, augments records with TMDB metadata, resolves playable sources from multiple third-party streaming providers, and lets authenticated users maintain a personal watchlist.
/api/watchlist./api/search) with debounced UI, category/collection browsing, and light/dark theme toggle..env file containing the configuration below (never commit production secrets)Install dependencies:
bun install
Create a .env file (or configure your secrets manager) using the variables listed below.
Start the development server:
bun dev
The app will be available on the host/port reported by Vite (default http://localhost:5173). The SQLite database file is created automatically on first run (defaults to data/meatflicks.db; override with SQLITE_DB_PATH if desired).
| Command | Description |
|---|---|
bun dev |
Start the SvelteKit development server. |
bun run build |
Create a production build. |
bun preview |
Preview the production build locally. |
bun run lint |
Run Prettier check and ESLint. |
bun run check |
Run SvelteKit sync and type-checking (svelte-check + TypeScript). |
bun test |
Execute Vitest unit tests (--run configured in package). |
bun test for unit tests (Vitest + Svelte testing utilities).bun run check to keep TypeScript and Svelte types in sync.bun run lint before commits to enforce ESLint and Prettier formatting.npx playwright install before adding E2E specs.Streaming resolution calls multiple unofficial providers (Vidlink, Vidsrc, TwoEmbed, EmbedSu) in priority order, returning the first successful source along with diagnostics for all providers. These providers are intended for educational or testing use. Review their terms of service and comply with local laws before deploying publicly.
This project is distributed under the MIT License.