No description
Find a file
Lorentz bbcee034cb
Some checks failed
Build and Deploy / build (push) Failing after 3m6s
Build and Deploy / deploy (push) Has been skipped
feat(F-007): implement Better Auth with login and account request
Better Auth Configuration:
- Database adapter for PostgreSQL with custom schema mapping
- Email/password authentication enabled
- 7-day session expiration with 24-hour update frequency
- Custom field mappings for auth_user, auth_session, auth_account tables
- Server-side auth helpers: getSession(), requireAuth()
- Client-side React hooks: signIn, signOut, signUp, useSession

Authentication Pages:
- /login: Email/password login with error handling
- /forgot-password: Password reset request flow
- /account-request: New user registration form
  - Captures: name, email, phone, company, Epicor ID, message
  - Creates quest_account_request record for admin approval
  - Success confirmation with next steps

API Routes:
- /api/auth/[...all]: Better Auth handler for all auth operations
- /api/account-request: Account request submission endpoint

UI Components:
- Added Textarea component from shadcn/ui
- Form validation and loading states
- Toast notifications for user feedback
- Responsive card-based layouts

Session management and enhanced context (company, permissions) will be
added in F-008 middleware implementation.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-16 02:25:52 +00:00
.forgejo/workflows Remove DOCKER_HOST from workflow 2026-02-15 22:52:33 +00:00
.vscode feat(F-001): scaffold Next.js 15 project with TypeScript and Tailwind 2026-02-16 00:04:44 +00:00
docs Add reference docs and update CLAUDE.md 2026-02-15 23:33:57 +00:00
prisma feat(F-004,F-005): complete Quest and remaining domain schemas 2026-02-16 02:16:28 +00:00
src feat(F-007): implement Better Auth with login and account request 2026-02-16 02:25:52 +00:00
tests feat(F-001): scaffold Next.js 15 project with TypeScript and Tailwind 2026-02-16 00:04:44 +00:00
traefik Initial infrastructure setup 2026-02-15 19:31:34 +00:00
.dockerignore feat(F-001): scaffold Next.js 15 project with TypeScript and Tailwind 2026-02-16 00:04:44 +00:00
.env.example Initial infrastructure setup 2026-02-15 19:31:34 +00:00
.eslintrc.json feat(F-001): scaffold Next.js 15 project with TypeScript and Tailwind 2026-02-16 00:04:44 +00:00
.gitignore feat(F-001): scaffold Next.js 15 project with TypeScript and Tailwind 2026-02-16 00:04:44 +00:00
.prettierignore feat(F-001): scaffold Next.js 15 project with TypeScript and Tailwind 2026-02-16 00:04:44 +00:00
.prettierrc feat(F-001): scaffold Next.js 15 project with TypeScript and Tailwind 2026-02-16 00:04:44 +00:00
CLAUDE.md Add reference docs and update CLAUDE.md 2026-02-15 23:33:57 +00:00
components.json feat(F-001): scaffold Next.js 15 project with TypeScript and Tailwind 2026-02-16 00:04:44 +00:00
create-files.sh Initial infrastructure setup 2026-02-15 19:31:34 +00:00
docker-compose.yml Add reference docs and update CLAUDE.md 2026-02-15 23:33:57 +00:00
Dockerfile Add Dockerfile and CI/CD pipeline 2026-02-15 22:42:41 +00:00
init-databases.sh Initial infrastructure setup 2026-02-15 19:31:34 +00:00
next.config.ts feat(F-001): scaffold Next.js 15 project with TypeScript and Tailwind 2026-02-16 00:04:44 +00:00
package-lock.json feat(F-001): scaffold Next.js 15 project with TypeScript and Tailwind 2026-02-16 00:04:44 +00:00
package.json feat(F-001): scaffold Next.js 15 project with TypeScript and Tailwind 2026-02-16 00:04:44 +00:00
playwright.config.ts feat(F-001): scaffold Next.js 15 project with TypeScript and Tailwind 2026-02-16 00:04:44 +00:00
postcss.config.mjs feat(F-001): scaffold Next.js 15 project with TypeScript and Tailwind 2026-02-16 00:04:44 +00:00
README.md feat(F-001): scaffold Next.js 15 project with TypeScript and Tailwind 2026-02-16 00:04:44 +00:00
setup.sh Initial infrastructure setup 2026-02-15 19:31:34 +00:00
tailwind.config.ts feat(F-001): scaffold Next.js 15 project with TypeScript and Tailwind 2026-02-16 00:04:44 +00:00
TASKS.md feat(F-007): implement Better Auth with login and account request 2026-02-16 02:25:52 +00:00
tsconfig.json feat(F-001): scaffold Next.js 15 project with TypeScript and Tailwind 2026-02-16 00:04:44 +00:00
vitest.config.ts feat(F-001): scaffold Next.js 15 project with TypeScript and Tailwind 2026-02-16 00:04:44 +00:00

Vorteq Quest Portal

Modern customer portal for Vorteq Coil, built with Next.js 15, TypeScript, and PostgreSQL.

Tech Stack

  • Framework: Next.js 15 with App Router
  • Language: TypeScript (strict mode)
  • Database (App): PostgreSQL 16 with Prisma ORM
  • Database (Epicor): SQL Server (read-only via mssql package)
  • Auth: Better Auth
  • UI: shadcn/ui + Tailwind CSS
  • Cache/Queue: Redis 7 + BullMQ
  • Email: Microsoft Graph API
  • Infrastructure: Docker + Traefik + Forgejo CI/CD

Getting Started

Prerequisites

  • Node.js 22 LTS
  • Docker & Docker Compose
  • Access to Epicor SQL Server

Development Setup

  1. Install dependencies:

    npm install
    
  2. Set up environment variables:

    cp .env.example .env
    # Edit .env with your configuration
    
  3. Initialize database:

    npm run db:push
    npm run db:seed
    
  4. Run development server:

    npm run dev
    
  5. Open http://localhost:3000

Available Scripts

  • npm run dev - Start development server
  • npm run build - Build for production
  • npm run start - Start production server
  • npm run lint - Run ESLint
  • npm run typecheck - Run TypeScript compiler check
  • npm test - Run unit tests
  • npm run test:e2e - Run E2E tests
  • npm run db:push - Push Prisma schema to database
  • npm run db:migrate - Create migration
  • npm run db:seed - Seed database

Project Structure

See CLAUDE.md for detailed project structure and coding conventions.

Documentation

  • Project Instructions: CLAUDE.md
  • Task Tracking: TASKS.md
  • PRD: docs/Vorteq_Quest_PRD_v1.0.docx
  • Legacy Documentation: docs/ directory

Infrastructure

License

Proprietary - Vorteq Coil