- NextAuth v5 with email+password credentials, JWT sessions - Registration, login, email verification, password reset flows - Stripe integration: Free (15/day), Starter ($5/1k/mo), Pro ($20/100k/mo) - API key management (cb_ prefix) with hash-based validation - Dashboard with generations history, settings, billing management - Rate limiting: Redis daily counter (free), DB monthly (paid) - Generate route auth: Bearer API key + session, anonymous allowed - Worker userId propagation for generation history - Pricing section on landing page, auth-aware navbar - Middleware with route protection, CORS for codeboard.vectry.tech - Docker env vars for auth, Stripe, email (smtp.migadu.com)
46 lines
1.2 KiB
JSON
46 lines
1.2 KiB
JSON
{
|
|
"name": "@codeboard/web",
|
|
"version": "0.0.1",
|
|
"private": true,
|
|
"scripts": {
|
|
"dev": "next dev",
|
|
"build": "next build",
|
|
"start": "next start",
|
|
"lint": "next lint",
|
|
"db:generate": "prisma generate --schema=../../packages/database/prisma/schema.prisma",
|
|
"db:push": "prisma db push --schema=../../packages/database/prisma/schema.prisma"
|
|
},
|
|
"dependencies": {
|
|
"@codeboard/database": "*",
|
|
"@codeboard/shared": "*",
|
|
"@tailwindcss/typography": "^0.5.19",
|
|
"bcryptjs": "^3.0.3",
|
|
"bullmq": "^5.34.0",
|
|
"clsx": "^2.1.1",
|
|
"cmdk": "^1.1.1",
|
|
"ioredis": "^5.4.0",
|
|
"lucide-react": "^0.563.0",
|
|
"mermaid": "^11.4.0",
|
|
"next": "^14.2.0",
|
|
"next-auth": "^5.0.0-beta.30",
|
|
"nodemailer": "^7.0.7",
|
|
"react": "^18.3.0",
|
|
"react-dom": "^18.3.0",
|
|
"react-markdown": "^9.0.0",
|
|
"stripe": "^20.3.1",
|
|
"tailwind-merge": "^2.6.0",
|
|
"zod": "^3.24.0"
|
|
},
|
|
"devDependencies": {
|
|
"@tailwindcss/postcss": "^4.0.0",
|
|
"@types/bcryptjs": "^2.4.6",
|
|
"@types/node": "^20.0.0",
|
|
"@types/nodemailer": "^6.4.17",
|
|
"@types/react": "^18.3.0",
|
|
"@types/react-dom": "^18.3.0",
|
|
"postcss": "^8.5.0",
|
|
"tailwindcss": "^4.0.0",
|
|
"typescript": "^5.7"
|
|
}
|
|
}
|