- Initialize Next.js 15 with App Router and TypeScript strict mode - Configure Tailwind CSS with shadcn/ui theme system - Install shadcn/ui components (button, card, input, table, etc.) - Set up ESLint and Prettier with automatic formatting - Configure path aliases (@/*) in tsconfig.json - Create full project structure per CLAUDE.md - Add health check endpoint at /api/health - Configure next.config.ts with output: 'standalone' for Docker - Set up Prisma with placeholder schema - Configure Vitest (unit) and Playwright (E2E) testing - Add VS Code settings for consistent development experience Build verification: TypeScript compilation, ESLint, and production build all pass. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
84 lines
2 KiB
Markdown
84 lines
2 KiB
Markdown
# 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:
|
|
```bash
|
|
npm install
|
|
```
|
|
|
|
2. Set up environment variables:
|
|
```bash
|
|
cp .env.example .env
|
|
# Edit .env with your configuration
|
|
```
|
|
|
|
3. Initialize database:
|
|
```bash
|
|
npm run db:push
|
|
npm run db:seed
|
|
```
|
|
|
|
4. Run development server:
|
|
```bash
|
|
npm run dev
|
|
```
|
|
|
|
5. Open [http://localhost:3000](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
|
|
|
|
- **Production:** https://quest.vorteq.wulf.cloud
|
|
- **Development:** https://dev.quest.vorteq.wulf.cloud
|
|
- **Testing:** https://testing.vorteq.wulf.cloud
|
|
- **Traefik Dashboard:** https://traefik.vorteq.wulf.cloud
|
|
|
|
## License
|
|
|
|
Proprietary - Vorteq Coil
|