Project description
TranslatedThe scope covers the entire backbone. First, authentication and roles — NextAuth.js v5 with email, Google, and GitHub, email verification and password reset, Super Admin / Org Admin / Member hierarchy, and session management. Multi-tenancy lies at the core: users belong to organizations, tenant tables carry org_id, there's a clean email invitation flow. Billing is on Stripe: monthly/yearly plans, trial period, webhook processing, seat-based metering, and a customer portal for self-service. The super-admin panel provides organization management, impersonate, feature flags, and metrics like MRR and churn.
Infrastructure ties it all together: Prisma and PostgreSQL, Resend for transactional emails, Vercel deployment config, GitHub Actions CI with lint, typecheck, and Vitest, feature flags via Vercel Edge Config. All code is in TypeScript. Fixed budget — 420 USD for 18 days. Modules and deliverables below.
Core Modules
1. Authentication and Roles
— NextAuth.js v5: email/password, Google, GitHub
— Email verification, password reset
— Roles: Super Admin / Org Admin / Member
— Session management (refresh token rotation)
2. Multi-Tenancy
— Model: user belongs to organization
— Data isolation at DB level (org_id)
— Invitations: email, acceptance, org login
— Settings page: name, logo, billing, members
3. Billing and Subscriptions
— Stripe Billing: monthly/yearly plans, trial period
— Webhook: checkout.session.completed, subscription events
— Seat-based metering
— Customer portal for self-service
— Upgrade/downgrade/cancel
4. Admin Panel
— Super Admin: organization management, impersonate, feature flags
— Metrics: MRR, churn, active users
— Email campaigns by segment
5. Infrastructure
— Prisma ORM + PostgreSQL
— Resend for transactional emails
— Vercel deployment
— GitHub Actions CI: lint, typecheck, Vitest
— Feature flags via Vercel Edge Config
Deliverable: private GitHub repository, README with local setup, production checklist.
Budget: fixed, 420 USD. Timeline: 18 days.