feat(ZEE-29): implement design system, dark mode, and JSON content management

- Add comprehensive design system with CSS variables, animations, and utility classes
- Implement dark mode with ThemeProvider (system preference + manual toggle)
- Create JSON-based content management system in src/content/
- Update all pages to use structured JSON content
- Add ThemeProvider component with theme toggle button
- Update Header with glass effect and animated mobile menu
- Update Footer with dark mode support
- Update documentation (README.md, CLAUDE.md, knowledge.md, proto/README.md)
- Sync with Linear (ZEE-29 completed)
This commit is contained in:
Do Siki
2026-01-24 02:30:27 +01:00
parent db464d1c48
commit d1213f9b3f
27 changed files with 3294 additions and 450 deletions
+40 -1
View File
@@ -44,7 +44,9 @@ This project uses **separated sync systems** for optimal management:
## 🛠️ Tech Stack
- **Frontend**: Next.js 14, TypeScript, Tailwind CSS
- **Frontend**: Next.js 14, TypeScript, Tailwind CSS 4
- **Design System**: CSS Variables, Dark Mode, Custom Animations
- **Content Management**: JSON-based structured content
- **Backend**: Next.js API Routes, MongoDB
- **Testing**: Jest, React Testing Library, Docker
- **Deployment**: Dokploy, Docker
@@ -59,6 +61,9 @@ This project uses **separated sync systems** for optimal management:
### ✅ Completed Features
- [x] Responsive website with modern design
- [x] **Design System** with CSS variables, animations, and micro-interactions
- [x] **Dark Mode** with system preference detection and manual toggle
- [x] **JSON Content Management** - Structured, easily modifiable content system
- [x] Contact form with validation & spam protection
- [x] Rate limiting and security features
- [x] Docker development environment
@@ -90,3 +95,37 @@ This project uses **separated sync systems** for optimal management:
- [Traceability Matrix](./TRACEABILITY-MATRIX.md)
- [Docker Setup](./DOCKER.md)
- [Development Guide](./proto/README.md)
## 🎨 Design System
The project uses a comprehensive design system with:
- **CSS Variables**: Brand colors, spacing, shadows, transitions
- **Dark Mode**: Automatic system preference + manual toggle via ThemeProvider
- **Animations**: fadeIn, float, pulse, hover effects (lift, scale, glow)
- **Components**: Buttons, cards, icons with consistent styling
## 📝 Content Management
All website text content is managed through JSON files:
```
proto/src/content/
├── types.ts # TypeScript definitions
├── index.ts # Content loader utility
├── common.json # Shared texts (buttons, labels)
└── pages/
├── home.json # Homepage content
├── about.json # About page content
├── services.json # Services page content
└── contact.json # Contact page content
```
**Usage:**
```typescript
import { content, getPageContent } from '@/content'
// Access content
const aboutContent = content.pages.about
const servicesContent = getPageContent('services')
```