No description
Find a file
Lorentz a67558de23 feat(F-008,F-009,F-010): complete Phase 1 foundation with middleware, navigation, and migrations
Implements authentication middleware with rate limiting, comprehensive permission
system, full portal navigation with sidebar and header, company selection flow,
and data migration tooling from SQL Server to PostgreSQL.

Key additions:
- Middleware: auth guards, rate limiting, session management
- Permissions: role-based access control with hierarchical permission rules
- Navigation: responsive sidebar with expandable sections, header with notifications
- Company selector: multi-company user support with session-based active company
- Data migration: comprehensive script for migrating auth and quest domain tables
- Schema: added auth_user_type_permission_group junction table

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-16 11:07:44 +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 feat(F-008,F-009,F-010): complete Phase 1 foundation with middleware, navigation, and migrations 2026-02-16 11:07:44 +00:00
prisma feat(F-008,F-009,F-010): complete Phase 1 foundation with middleware, navigation, and migrations 2026-02-16 11:07:44 +00:00
scripts feat(F-008,F-009,F-010): complete Phase 1 foundation with middleware, navigation, and migrations 2026-02-16 11:07:44 +00:00
src feat(F-008,F-009,F-010): complete Phase 1 foundation with middleware, navigation, and migrations 2026-02-16 11:07:44 +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-008,F-009,F-010): complete Phase 1 foundation with middleware, navigation, and migrations 2026-02-16 11:07:44 +00:00
package.json feat(F-008,F-009,F-010): complete Phase 1 foundation with middleware, navigation, and migrations 2026-02-16 11:07: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-008,F-009,F-010): complete Phase 1 foundation with middleware, navigation, and migrations 2026-02-16 11:07:44 +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