Full MVP implementation: - Next.js 16 + React 19 + TypeScript + Tailwind CSS v4 - LiveKit integration (rooms, tokens, webhooks, moderation) - better-auth (email/password, sessions, roles) - Prisma 7 + PostgreSQL (9 models, 3 enums) - 15 API routes (auth, rooms, lobby, chat, files, moderation, hand-raise) - 7 pages (landing, auth, dashboard, join, video room) - SSE-based waiting room with host approval flow - Security: PIN rate limiting, session fingerprint bans, chat/files auth - Python AI Agent (Deepgram STT + OpenAI summarization) - Docker Compose (local + production with Traefik + Let's Encrypt) - Interactive setup script (setup.sh) - Dev protection middleware (DEV_ACCESS_KEY, ALLOWED_IPS) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
47 lines
1.2 KiB
JSON
47 lines
1.2 KiB
JSON
{
|
|
"name": "liveserver-m1",
|
|
"version": "1.0.0",
|
|
"description": "Livekit core - Server for VideoHosting",
|
|
"scripts": {
|
|
"dev": "next dev",
|
|
"build": "next build",
|
|
"start": "next start",
|
|
"lint": "tsc --noEmit",
|
|
"db:generate": "prisma generate",
|
|
"db:migrate": "prisma migrate dev",
|
|
"db:push": "prisma db push",
|
|
"db:studio": "prisma studio"
|
|
},
|
|
"keywords": [],
|
|
"author": "",
|
|
"license": "ISC",
|
|
"type": "commonjs",
|
|
"dependencies": {
|
|
"@livekit/components-react": "^2.9.20",
|
|
"@livekit/components-styles": "^1.2.0",
|
|
"@prisma/client": "^7.5.0",
|
|
"@tailwindcss/postcss": "^4.2.2",
|
|
"@types/node": "^25.5.0",
|
|
"@types/react": "^19.2.14",
|
|
"@types/react-dom": "^19.2.3",
|
|
"bcryptjs": "^3.0.3",
|
|
"better-auth": "^1.5.5",
|
|
"livekit-client": "^2.17.3",
|
|
"livekit-server-sdk": "^2.15.0",
|
|
"next": "^16.2.1",
|
|
"postcss": "^8.5.8",
|
|
"prisma": "^7.5.0",
|
|
"react": "^19.2.4",
|
|
"react-dom": "^19.2.4",
|
|
"tailwindcss": "^4.2.2",
|
|
"typescript": "^5.9.3",
|
|
"zod": "^4.3.6"
|
|
},
|
|
"devDependencies": {
|
|
"@eslint/eslintrc": "^3.3.5",
|
|
"@types/bcryptjs": "^2.4.6",
|
|
"eslint": "^9.39.4",
|
|
"eslint-config-next": "^16.2.1"
|
|
}
|
|
}
|