Overview
CvHub is a web-based CV/resume builder that lets users create, edit, and share professional CVs with real-time preview, drag-and-drop section ordering, and multiple regional templates (Europass, USA/Global, Gulf).
Tech Stack
- Frontend: Next.js 16 (App Router) + React 19 + TypeScript
- Styling/UI: Tailwind CSS v4 + shadcn/ui (Radix primitives)
- Forms & validation: React Hook Form + Zod
- Drag & drop: @dnd-kit
- PDF: @react-pdf/renderer (for CV export capability)
- Testing: Vitest
Auth, database, storage
- Authentication: Supabase Auth (OAuth-ready; uses Supabase session/JWT patterns)
- Primary database: PostgreSQL on Supabase
- Tables like profiles (1:1 with auth.users) and cvs (many per user)
- RLS policies for per-user access + “public CV” access
- Triggers/functions for auto profile creation, updated_at, and public slug generation
- File storage (user uploads): Supabase Storage (e.g. profile photos)
CMS / content (blog/admin)
- Payload CMS (Next integration) under app/(payload)/...
- CMS database: MongoDB (Payload’s @payloadcms/db-mongodb)
- CMS media storage: Vercel Blob (via @payloadcms/storage-vercel-blob)