2026-02-14 15:26:42 +01:00
|
|
|
import type { NextConfig } from 'next'
|
|
|
|
|
|
|
|
|
|
const nextConfig: NextConfig = {
|
|
|
|
|
output: 'standalone',
|
|
|
|
|
typedRoutes: true,
|
|
|
|
|
serverExternalPackages: ['@prisma/client', 'minio'],
|
|
|
|
|
experimental: {
|
|
|
|
|
optimizePackageImports: ['lucide-react'],
|
|
|
|
|
},
|
|
|
|
|
images: {
|
|
|
|
|
remotePatterns: [
|
|
|
|
|
{
|
|
|
|
|
protocol: 'https',
|
|
|
|
|
hostname: '*.minio.local',
|
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
},
|
Competition/Round architecture: full platform rewrite (Phases 1-9)
Replace Pipeline/Stage system with Competition/Round architecture.
New schema: Competition, Round (7 types), JuryGroup, AssignmentPolicy,
ProjectRoundState, DeliberationSession, ResultLock, SubmissionWindow.
New services: round-engine, round-assignment, deliberation, result-lock,
submission-manager, competition-context, ai-prompt-guard.
Full admin/jury/applicant/mentor UI rewrite. AI prompt hardening with
structured prompts, retry logic, and injection detection. All legacy
pipeline/stage code removed. 4 new migrations + seed aligned.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 23:04:15 +01:00
|
|
|
async redirects() {
|
|
|
|
|
return [
|
|
|
|
|
// Legacy Pipeline/Stage routes → Competition/Round routes
|
|
|
|
|
{
|
|
|
|
|
source: '/admin/rounds/pipelines',
|
|
|
|
|
destination: '/admin/competitions',
|
|
|
|
|
permanent: true,
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
source: '/admin/rounds/pipeline/:path*',
|
|
|
|
|
destination: '/admin/competitions',
|
|
|
|
|
permanent: true,
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
source: '/jury/stages',
|
|
|
|
|
destination: '/jury/competitions',
|
|
|
|
|
permanent: true,
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
source: '/jury/stages/:path*',
|
|
|
|
|
destination: '/jury/competitions',
|
|
|
|
|
permanent: true,
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
source: '/applicant/pipeline',
|
|
|
|
|
destination: '/applicant/competitions',
|
|
|
|
|
permanent: true,
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
source: '/applicant/pipeline/:path*',
|
|
|
|
|
destination: '/applicant/competitions',
|
|
|
|
|
permanent: true,
|
|
|
|
|
},
|
|
|
|
|
]
|
|
|
|
|
},
|
2026-02-14 15:26:42 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export default nextConfig
|