feat: secure and document book reviews system

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:
denshooter
2026-02-15 22:32:49 +01:00
parent 0766b46cc8
commit 6998a0e7a1
22 changed files with 3141 additions and 4135 deletions
-47
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.