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:
@@ -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')
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user