feat: secure and document book reviews system
Some checks failed
Dev Deployment (Zero Downtime) / deploy-dev (push) Failing after 10m3s

Added rate limiting to APIs, cleaned up docs, implemented fallback logic for reviews without text, and added comprehensive n8n guide.
This commit is contained in:
2026-02-15 22:32:49 +01:00
parent 0766b46cc8
commit 6998a0e7a1
22 changed files with 3141 additions and 4135 deletions

View File

@@ -1,47 +0,0 @@
# GEMINI.md - Portfolio Project Guide
## Project Overview
Personal portfolio for Dennis Konkol (dk0.dev). A modern, high-performance Next.js 15 application featuring a "liquid" design system, integrated with Directus CMS and n8n for real-time status and content management.
## Tech Stack & Architecture
- **Framework**: Next.js 15 (App Router), TypeScript, React 19.
- **UI/UX**: Tailwind CSS 3.4, Framer Motion 12, Three.js (Background).
- **Backend/Data**: PostgreSQL (Prisma), Redis (Caching), Directus (CMS), n8n (Automation).
- **i18n**: next-intl (German/English).
## Core Principles for Gemini
- **Safe Failovers**: Always implement fallbacks for external APIs (Directus, n8n). The site must remain functional even if all external services are down.
- **Liquid Design**: Use custom `liquid-*` color tokens for consistency.
- **Performance**: Favor Server Components where possible; use `use client` only for interactivity.
- **Code Style**: clean, modular, and well-typed. Use functional components and hooks.
- **i18n first**: Never hardcode user-facing strings; always use `messages/*.json`.
## Common Workflows
### API Route Pattern
API routes should include:
- Rate limiting (via `lib/auth.ts`)
- Timeout protection
- Proper error handling with logging in development
- Type-safe responses
### Component Pattern
- Use Framer Motion for entrance animations.
- Use `next/image` for all images to ensure optimization.
- Follow the `glassmorphism` aesthetic: `backdrop-blur-sm`, subtle borders, and gradient backgrounds.
## Development Commands
- `npm run dev`: Full development environment.
- `npm run lint`: Run ESLint checks.
- `npm run test`: Run unit tests.
- `npm run test:e2e`: Run Playwright E2E tests.
## Environment Variables (Key)
- `DIRECTUS_URL` & `DIRECTUS_STATIC_TOKEN`: CMS connectivity.
- `N8N_WEBHOOK_URL` & `N8N_SECRET_TOKEN`: Automation connectivity.
- `DATABASE_URL`: Prisma connection string.
## Git Workflow
- Work on the `dev` branch.
- Use conventional commits: `feat:`, `fix:`, `chore:`, `docs:`, `refactor:`.
- Push to both GitHub and Gitea remotes.