Files
codeboard/apps/web/package.json
Vectry 64ce70daa4 feat: add subscription service — user auth, Stripe billing, API keys, dashboard
- 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)
2026-02-10 20:08:13 +00:00

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"
}
}