Jan Wagner 97944875ca feat: Phase 1 - Admin CMS with Links Management
Backend (updates-api):
- Add links table schema with categories, visibility, sorting
- Implement full CRUD API for links (/v1/links, /v1/admin/links)
- Create admin UI for links management (/admin/links)
- Add navigation between Updates and Links admin pages
- Add comprehensive tests for links API (7/7 passing)

Frontend (Next.js):
- Create API client for fetching links from updates-api
- Add LinksSection component with category icons
- Integrate links into homepage (between Notes and CTA)
- Add i18n entries for links section (DE/EN)
- ISR caching: 60s for links, 5min for updates

Features:
- Links organized by category (external/internal/resource/tool)
- Visibility toggle (show/hide on homepage)
- Sort order support
- Optional icons and descriptions
- Responsive grid layout (1/2/3 columns)

Testing:
- All existing tests pass
- New links API tests cover CRUD + validation
- Production build successful

Phase 1 Complete: Links management ready for deployment
Next: Phase 2 (Markdown editor + media upload)
2026-08-22 16:56:00 +02:00
2026-08-15 23:43:20 +02:00
2026-08-15 23:43:20 +02:00

w-make.com

Öffentliche Firmen- und Portfolio-Site von Jan Wagner: industrielle Software, Systems Thinking, Glass Technology.

Deutsch ist die Standardsprache ohne Prefix (/, /arbeit). Englisch liegt unter /en. Inhalte stehen in src/content/, UI-Texte in src/i18n/dictionaries.ts. Die öffentliche Präsenz folgt PRESENCE-STRATEGY.md.

Lokal

npm install
npm test
npm run dev

Kontaktformular speichert Anfragen in SQLite (INQUIRIES_DB_PATH) und sendet sie per SMTP, sobald CONTACT_TO, SMTP_HOST, SMTP_USER und SMTP_PASS gesetzt sind. Lokal liegen diese Werte in .env.local (nicht committen), bezogen auf eldov@w-make.de. Optional: CONTACT_FROM, SMTP_PORT, NEXT_PUBLIC_SITE_URL, UPDATES_API_URL.

Routen

DE EN
/ /en
/ueber-mich /en/about
/arbeit /en/work
/notizen /en/notes
/kontakt /en/contact
/impressum /en/legal
/datenschutz /en/privacy
S
Description
No description provided
Readme
1.1 MiB
Languages
TypeScript 71.6%
JavaScript 14.3%
HTML 9.8%
Shell 1.9%
CSS 1.6%
Other 0.8%