|
|
před 1 měsícem | |
|---|---|---|
| .vscode | před 1 měsícem | |
| apps | před 1 měsícem | |
| data | před 1 měsícem | |
| docs | před 1 měsícem | |
| packages | před 1 měsícem | |
| .gitignore | před 1 měsícem | |
| .npmrc | před 1 měsícem | |
| Dockerfile | před 1 měsícem | |
| README.md | před 1 měsícem | |
| docker-compose.yml | před 1 měsícem | |
| package.json | před 1 měsícem | |
| pnpm-lock.yaml | před 1 měsícem | |
| pnpm-workspace.yaml | před 1 měsícem | |
| turbo.json | před 1 měsícem |
A modern, full-stack video processing system built with Turborepo. Automatically monitors directories, processes videos with HandBrake, and provides a complete web interface for management.
This monorepo contains:
apps/web: Next.js 14 web interface with real-time updatesapps/service: NestJS API server with WebSocket supportapps/cli: Node.js command-line interfacepackages/eslint-config: Shared ESLint configurationspackages/typescript-config: Shared TypeScript configurationspackages/ui: Shared React components (stub)# Install dependencies
pnpm install
# Start all services (web + API)
pnpm run dev
# Or start individually
pnpm run web # Web interface on :3000
pnpm run service # API server on :3001
pnpm run cli # Interactive CLI
pnpm run dev - Start all services with hot reloadpnpm run build - Build all appspnpm run lint - Run ESLintpnpm run test - Run testsdocker build .
docker-compose up
Dataset configurations are stored in the SQLite database. Each dataset defines:
GET /files - List processed filesPOST /watcher/start - Start file monitoringGET /tasks - View processing queuePOST /maintenance/cleanup - Clean up files# Interactive mode (recommended)
pnpm run cli
# Direct commands
pnpm run cli files:list --dataset movies
pnpm run cli task:list
pnpm run cli config:get datasets
SQLite database stored at data/database.db containing:
See data/README.md for schema details.
apps/service/README.mdapps/web/README.mdapps/cli/README.mddocs/DEVELOPMENT_NOTES.mdThis Turborepo has some additional tools already setup for you:
To build all apps and packages, run the following command:
cd my-turborepo
# With [global `turbo`](https://turborepo.com/docs/getting-started/installation#global-installation) installed (recommended)
turbo build
# Without [global `turbo`](https://turborepo.com/docs/getting-started/installation#global-installation), use your package manager
npx turbo build
yarn dlx turbo build
pnpm exec turbo build
You can build a specific package by using a filter:
# With [global `turbo`](https://turborepo.com/docs/getting-started/installation#global-installation) installed (recommended)
turbo build --filter=web
# Without [global `turbo`](https://turborepo.com/docs/getting-started/installation#global-installation), use your package manager
npx turbo build --filter=web
yarn exec turbo build --filter=web
pnpm exec turbo build --filter=web
To develop all apps and packages, run the following command:
cd my-turborepo
# With [global `turbo`](https://turborepo.com/docs/getting-started/installation#global-installation) installed (recommended)
turbo dev
# Without [global `turbo`](https://turborepo.com/docs/getting-started/installation#global-installation), use your package manager
npx turbo dev
yarn exec turbo dev
pnpm exec turbo dev
You can develop a specific package by using a filter:
# With [global `turbo`](https://turborepo.com/docs/getting-started/installation#global-installation) installed (recommended)
turbo dev --filter=web
# Without [global `turbo`](https://turborepo.com/docs/getting-started/installation#global-installation), use your package manager
npx turbo dev --filter=web
yarn exec turbo dev --filter=web
pnpm exec turbo dev --filter=web
[!TIP] Vercel Remote Cache is free for all plans. Get started today at vercel.com.
Turborepo can use a technique known as Remote Caching to share cache artifacts across machines, enabling you to share build caches with your team and CI/CD pipelines.
By default, Turborepo will cache locally. To enable Remote Caching you will need an account with Vercel. If you don't have an account you can create one, then enter the following commands:
cd my-turborepo
# With [global `turbo`](https://turborepo.com/docs/getting-started/installation#global-installation) installed (recommended)
turbo login
# Without [global `turbo`](https://turborepo.com/docs/getting-started/installation#global-installation), use your package manager
npx turbo login
yarn exec turbo login
pnpm exec turbo login
This will authenticate the Turborepo CLI with your Vercel account.
Next, you can link your Turborepo to your Remote Cache by running the following command from the root of your Turborepo:
# With [global `turbo`](https://turborepo.com/docs/getting-started/installation#global-installation) installed (recommended)
turbo link
# Without [global `turbo`](https://turborepo.com/docs/getting-started/installation#global-installation), use your package manager
npx turbo link
yarn exec turbo link
pnpm exec turbo link
Learn more about the power of Turborepo: