Server: - quiz-round handles image_reveal like a text-answer format (tolerant match on acceptedAnswers), exposing imageUrl in the round payload; degressive scoring comes for free from the existing speed bonus (earlier = blurrier = more points) - repo includes image_reveal in the pool (requires imageUrl + acceptedAnswers) - back-office: image upload (@fastify/multipart) saved to UPLOADS_DIR and served statically on /uploads (@fastify/static); create supports image_reveal - env: UPLOADS_DIR; gitignore uploads/ Client: - admin form: "Image à deviner" — upload + preview + accepted answers - in-game: ImageReveal shows the image with a time-cadenced decreasing blur (synced via server timestamps) + text input; reveal shows the clear image and the answer shared: QuizQuestionPayload.imageUrl Verified against real server+DB: upload (url), static serve (200), create (201), validation (400). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
37 lines
424 B
Text
37 lines
424 B
Text
# Logs
|
|
logs
|
|
*.log
|
|
npm-debug.log*
|
|
yarn-debug.log*
|
|
yarn-error.log*
|
|
.pnpm-debug.log*
|
|
lerna-debug.log*
|
|
|
|
node_modules
|
|
dist
|
|
dist-ssr
|
|
*.local
|
|
|
|
# env files (can opt-in for committing if needed)
|
|
.env*
|
|
!.env.example
|
|
|
|
# turbo
|
|
.turbo
|
|
|
|
# Editor directories and files
|
|
.vscode/*
|
|
!.vscode/extensions.json
|
|
.idea
|
|
.DS_Store
|
|
*.suo
|
|
*.ntvs*
|
|
*.njsproj
|
|
*.sln
|
|
*.sw?
|
|
|
|
# typescript
|
|
*.tsbuildinfo
|
|
|
|
# uploads (image_reveal) servies en statique
|
|
uploads/
|