85 lines
2 KiB
Markdown
85 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
|