feat(F-001): scaffold Next.js 15 project with TypeScript and Tailwind
- 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>
This commit is contained in:
parent
6ef918aad4
commit
7cd434aa82
46 changed files with 15627 additions and 13 deletions
19
prisma/schema.prisma
Normal file
19
prisma/schema.prisma
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
// Prisma schema for Vorteq Quest Portal
|
||||
// PostgreSQL 16 database
|
||||
|
||||
generator client {
|
||||
provider = "prisma-client-js"
|
||||
}
|
||||
|
||||
datasource db {
|
||||
provider = "postgresql"
|
||||
url = env("DATABASE_URL")
|
||||
}
|
||||
|
||||
// Placeholder - full schema will be created in F-003, F-004, F-005
|
||||
// This minimal schema allows Prisma client to be generated
|
||||
|
||||
model placeholder {
|
||||
id String @id @default(cuid())
|
||||
created_at DateTime @default(now())
|
||||
}
|
||||
21
prisma/seed.ts
Normal file
21
prisma/seed.ts
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
import { PrismaClient } from '@prisma/client';
|
||||
|
||||
const prisma = new PrismaClient();
|
||||
|
||||
async function main() {
|
||||
console.log('Seeding database...');
|
||||
|
||||
// Seed data will be added as schemas are created in F-003, F-004, F-005
|
||||
|
||||
console.log('Seeding complete!');
|
||||
}
|
||||
|
||||
main()
|
||||
.then(async () => {
|
||||
await prisma.$disconnect();
|
||||
})
|
||||
.catch(async (e) => {
|
||||
console.error(e);
|
||||
await prisma.$disconnect();
|
||||
process.exit(1);
|
||||
});
|
||||
Loading…
Add table
Add a link
Reference in a new issue