Production-style scaffold for an online file conversion platform.
- Next.js (web UI)
- Express + TypeScript (API)
- Worker service for async conversion jobs
- Prisma + PostgreSQL
- Redis queue (scaffold currently uses in-memory queue abstraction)
- Stripe hooks for subscription lifecycle
apps/web- customer-facing app and dashboardapps/api- REST API, auth middleware, quotas, webhooksapps/worker- job consumers and conversion executionpackages/db- Prisma schema/client/migrations/seedpackages/shared- schemas, format matrix, quota defaultspackages/conversion-engine- conversion adapter layerinfra- Dockerfiles and Kubernetes deployment manifests
- Copy
.env.exampleto.env. - Start local infra:
docker compose up -d
- Install dependencies:
pnpm install
- Generate Prisma client and run migrations:
pnpm --filter @convertr/db prisma:generatepnpm --filter @convertr/db prisma:migratepnpm --filter @convertr/db prisma:seed
- Start everything:
pnpm dev
- OpenAPI spec:
apps/api/openapi.yaml - API base URL:
http://localhost:4000/v1
- Conversion adapters are scaffolded and ready for real ffmpeg/imagemagick/libreoffice integration.
- Auth middleware includes development defaults and API-key verification path.