feat: secure and document book reviews system
Some checks failed
Dev Deployment (Zero Downtime) / deploy-dev (push) Failing after 10m3s
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:
67
TODO.md
67
TODO.md
@@ -1,51 +1,28 @@
|
||||
# TODO - Portfolio Roadmap
|
||||
# Portfolio Roadmap
|
||||
|
||||
## Book Reviews (Neu)
|
||||
## Completed ✅
|
||||
|
||||
- [ ] **Directus Collection erstellen**: `book_reviews` mit Feldern:
|
||||
- `status` (draft/published)
|
||||
- `book_title` (String)
|
||||
- `book_author` (String)
|
||||
- `book_image` (String, URL zum Cover)
|
||||
- `rating` (Integer, 1-5)
|
||||
- `hardcover_id` (String, optional)
|
||||
- `finished_at` (Datetime, optional)
|
||||
- Translations: `review` (Text) + `languages_code` (FK)
|
||||
- [ ] **n8n Workflow**: Automatisch Directus-Entwurf erstellen wenn Buch auf Hardcover als "gelesen" markiert wird
|
||||
- [ ] **Hardcover GraphQL Query** für gelesene Bücher: `status_id: {_eq: 3}` (Read)
|
||||
- [ ] **Erste Testdaten**: 2-3 gelesene Bücher mit Rating + Kommentar in Directus anlegen
|
||||
- [x] **Dark Mode Support**: `next-themes` integration, `ThemeToggle` component, and dark mode styles.
|
||||
- [x] **Performance**: Replaced `<img>` with Next.js `<Image>` for optimization.
|
||||
- [x] **SEO**: Added JSON-LD Structured Data for projects.
|
||||
- [x] **Security**: Rate limiting added to `book-reviews`, `hobbies`, and `tech-stack` APIs.
|
||||
- [x] **Book Reviews**:
|
||||
- `ReadBooks` component updated to handle optional ratings/reviews.
|
||||
- `CurrentlyReading` component verified.
|
||||
- Automation guide created (`docs/N8N_HARDCOVER_GUIDE.md`).
|
||||
- [x] **Testing**: Added tests for `book-reviews`, `hobbies`, `tech-stack`, `CurrentlyReading`, and `ThemeToggle`.
|
||||
|
||||
## Directus CMS
|
||||
## Next Steps
|
||||
|
||||
- [ ] Messages Collection: `messages` mit key + translations (ersetzt `messages/*.json`)
|
||||
- [ ] Projects vollständig zu Directus migrieren (`node scripts/migrate-projects-to-directus.js`)
|
||||
- [ ] Directus Webhooks einrichten: On-Demand ISR Revalidation bei Content-Änderungen
|
||||
- [ ] Directus Roles: Public Read Token, Admin Write
|
||||
### Directus CMS
|
||||
- [ ] **Messages Collection**: Create `messages` collection in Directus for dynamic i18n (currently using `messages/*.json`).
|
||||
- [ ] **Projects Migration**: Finish migrating projects content to Directus (script exists: `scripts/migrate-projects-to-directus.js`).
|
||||
- [ ] **Webhooks**: Configure Directus webhooks for On-Demand ISR Revalidation.
|
||||
|
||||
## n8n Integrationen
|
||||
### Features
|
||||
- [ ] **Blog/Articles**: Design and implement the blog section.
|
||||
- [ ] **Project Detail Gallery**: Add a lightbox/gallery for project screenshots.
|
||||
|
||||
- [ ] Hardcover "Read Books" Webhook: Gelesene Bücher automatisch in Directus importieren
|
||||
- [ ] Spotify Now Playing verbessern: Album-Art Caching
|
||||
- [ ] Discord Rich Presence: Gaming-Status automatisch aktualisieren
|
||||
|
||||
## Frontend
|
||||
|
||||
- [ ] Dark Mode Support (Theme Toggle)
|
||||
- [ ] Blog/Artikel Sektion (Directus-basiert)
|
||||
- [ ] Projekt-Detail Seite: Bildergalerie/Lightbox
|
||||
- [ ] Performance: Bilder auf Next.js `<Image>` umstellen (statt `<img>`)
|
||||
- [ ] SEO: Structured Data (JSON-LD) für Projekte
|
||||
|
||||
## Testing & Qualität
|
||||
|
||||
- [ ] Jest Tests für neue API-Routes (`book-reviews`, `hobbies`, `tech-stack`)
|
||||
- [ ] Playwright E2E: Book Reviews Sektion testen
|
||||
- [ ] Lighthouse Score > 95 auf allen Seiten sicherstellen
|
||||
- [ ] Accessibility Audit (WCAG 2.1 AA)
|
||||
|
||||
## DevOps
|
||||
|
||||
- [ ] Staging Environment aufräumen und dokumentieren
|
||||
- [ ] GitHub Actions Migration (von Gitea Actions)
|
||||
- [ ] Docker Image Size optimieren (Multi-Stage Build prüfen)
|
||||
- [ ] Health Check Endpoint erweitern: Directus + n8n Connectivity
|
||||
### DevOps
|
||||
- [ ] **GitHub Actions**: Migrate CI/CD fully to GitHub Actions (from Gitea).
|
||||
- [ ] **Docker Optimization**: Further reduce image size.
|
||||
|
||||
Reference in New Issue
Block a user