14a72a3ffe74e4968770b8f5f1371c4b75efc95a
CI Pipeline with Test Management / 🧪 Run Tests & Generate Reports (push) Waiting to run
CI Pipeline with Test Management / 🐳 Docker Integration Tests (push) Blocked by required conditions
CI Pipeline with Test Management / 🏗️ Build Docker Image (push) Blocked by required conditions
CI Pipeline with Test Management / 📊 Generate Test Summary (push) Blocked by required conditions
Test Reporting & Gherkin Analysis / 🧪 Run Tests & Generate Reports (push) Waiting to run
Test Reporting & Gherkin Analysis / 📊 Analyze Test Coverage (push) Blocked by required conditions
Test Reporting & Gherkin Analysis / 🔄 Sync with Linear (push) Blocked by required conditions
Test Reporting & Gherkin Analysis / ⚡ Performance Monitoring (push) Blocked by required conditions
The version tag is the git SHA read at CMS startup, but the deploy script
only rebuilt the website container, leaving the tag stale (v8838304 shown
after aa8d926 was live). The local deploy script now restarts the CMS
service after the server-side deploy (the CMS publish flow is unaffected —
it calls deploy.sh directly and never restarts itself). The editor main
page also gains Cache-Control: no-store so browsers stop caching it.
Closes MITHOME-71
mozdIT Bt. Website Development
Modern Next.js 14 website for mozdIT Bt. - Hungarian IT services company specializing in web hosting, email services, and DNS administration.
🚀 Quick Start
# Development server
cd proto && npm run dev
# Docker development environment
docker-compose -f docker-compose.dev.yml up -d
# Run tests
cd proto && npm run test:all
🔄 Dual Sync Architecture
This project uses separated sync systems for optimal management:
📊 Plane Sync (Task Management)
- Project: MITHOME — mozdIT website dev (workspace:
developments) - TODO.md: Local mirror, Plane is the authoritative source
- Sync:
node plane-sync.js(one-way Plane → TODO.md) - Status Mapping:
completed→ ✅,started→ 🔄,unstarted→ ⏳,backlog→ 📋
🐙 GitHub Sync (CI/CD)
- Code Versioning: Git-based source control
- CI/CD Pipeline: Automated testing and deployment
- Docker Integration: Container build and registry
- Deployment: Docker Compose (deploy.sh)
🧪 Test Types
- Unit Tests: Component and logic testing
- Browser Integration: jsdom + mocked APIs
- Docker Integration: Real HTTP calls to services
- E2E Tests: Complete user workflows
🛠️ Tech Stack
- 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: Docker Compose (deploy.sh), native
- Monitoring: Winston, Loki, Grafana
- Project Management: Plane, GitHub Issues
📈 Current Status
✅ Completed Features
- Responsive website with modern design
- Design System with CSS variables, animations, and micro-interactions
- Dark Mode with system preference detection and manual toggle
- JSON Content Management - Structured, easily modifiable content system
- Contact form with validation & spam protection
- Rate limiting and security features
- Docker development environment
- Comprehensive test suite
- CI/CD pipeline with Plane sync integration
- Requirements traceability system
🚧 In Progress
- Performance optimization (ZEE-44)
- SEO enhancements
- Analytics integration
🔗 Links
- Production: https://mozdit.hu
- Staging: https://staging.mozdit.hu
- Plane Project: https://pm.llmdev.mozdit.hu (workspace:
developments, project:MITHOME) - Docker Registry: ghcr.io/your-username/websitedev
📚 Documentation
Sync Systems:
- Plane Sync Guide - Task management with Plane
- GitHub CI/CD Guide - Code & deployment pipeline
- Sync Status Analysis - Current state overview
Development:
🎨 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:
import { content, getPageContent } from '@/content'
// Access content
const aboutContent = content.pages.about
const servicesContent = getPageContent('services')
Languages
TypeScript
60.3%
JavaScript
24.8%
HTML
7%
Shell
4.4%
CSS
3%
Other
0.4%