Do Siki 9365c0f1ee
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
feat(footer): CMS-editable company address (common.json footer.address)
'Budapest, Magyarország' lived hardcoded in site.ts. It now lives in
common.json (footer.address), editable via the Közös szövegek tab, and both
consumers (Footer, Kapcsolat page) read it from there — single source.
Schema and types extended; site.ts keeps only the email.

Closes MITHOME-73
2026-08-19 16:53:16 +02:00

mozdIT Bt. Website Development

CI/CD Pipeline Docker Plane Sync Deployment

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

Requirements Coverage Test Automation Build 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

📚 Documentation

Sync Systems:

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')
S
Description
No description provided
Readme MIT
2.5 MiB
Languages
TypeScript 60.3%
JavaScript 24.8%
HTML 7%
Shell 4.4%
CSS 3%
Other 0.4%