๐Ÿ› ๏ธ Technische Dokumentation

Umfassende technische Dokumentation fรผr Entwickler und Systemadministratoren.

๐Ÿ—๏ธ Systemarchitektur

Knowledge Map System v2.0

LERNREISE.TECH Architecture
โ”œโ”€โ”€ Frontend: Vanilla HTML5/CSS3/JavaScript
โ”œโ”€โ”€ Visualization: Markmap.js + D3.js
โ”œโ”€โ”€ CMS: GRAV with Gantry5 Theme
โ”œโ”€โ”€ Data Storage: LocalStorage + GRAV Pages
โ”œโ”€โ”€ Container: Docker (lernreise-tech-staging)
โ””โ”€โ”€ Deployment: Stage Environment

Core Components

  • Interactive Mind Maps: Markmap.js-based visualization
  • Progress Tracking: LocalStorage with cross-page sync
  • User Management: Session-based authentication
  • Content Management: GRAV CMS with Markdown pages
  • Theme System: Gantry5 with custom modifications

๐Ÿš€ Knowledge Map System

Features

  • โœ… Interactive SVG mind maps with zoom/pan
  • โœ… Real-time progress tracking (4 states)
  • โœ… Cross-page data synchronization
  • โœ… Mobile-responsive touch interactions
  • โœ… Test user creation system
  • โœ… Learning dashboard with analytics

Technology Stack

// Core Libraries
- Markmap.js: Interactive mind map rendering
- D3.js: SVG manipulation and data visualization
- LocalStorage: Client-side data persistence
- Vanilla JavaScript: No framework dependencies

// File Structure
/assets/js/
โ”œโ”€โ”€ d3.min.js (279KB)
โ”œโ”€โ”€ markmap-lib.min.js (311KB)
โ””โ”€โ”€ markmap-view.min.js (50KB)

Data Flow

User Action โ†’ Progress Update โ†’ LocalStorage โ†’ 
Cross-Page Sync โ†’ Visual Update โ†’ Dashboard Refresh

๐Ÿ”ง Development Environment

Prerequisites

  • Docker & Docker Compose
  • Git
  • Node.js 18+ (for asset building)
  • Modern browser with ES6+ support

Local Setup

# Clone repository
git clone https://github.com/lernreise-tech/lernreise.tech.git
cd lernreise.tech

# Start development environment
docker-compose up -d

# Access development site
open http://localhost

Container Configuration

# docker-compose.yml
version: '3.8'
services:
  lernreise-tech-staging:
    image: grav:latest
    ports:
      - "80:80"
    volumes:
      - ./user:/var/www/html/user
      - ./assets:/var/www/html/assets

๐Ÿ—ƒ๏ธ Content Management

GRAV CMS Structure

/user/pages/
โ”œโ”€โ”€ 01.einfuehrung/
โ”œโ”€โ”€ 02.hardware/
โ”œโ”€โ”€ 03.software/
โ”œโ”€โ”€ 04.erwachsene/
โ”œโ”€โ”€ 05.lern-reise/
โ”œโ”€โ”€ 06.info/
โ”‚   โ”œโ”€โ”€ 01.about/          # รœber das Projekt
โ”‚   โ”œโ”€โ”€ 02.partner/        # Partner & Netzwerk
โ”‚   โ””โ”€โ”€ 03.dokumentation/  # Diese Dokumentation
โ”œโ”€โ”€ 09.ressources/
โ””โ”€โ”€ 10.tour/

Page Templates

  • default.md - Standard content pages
  • presentation.md - Reveal.js presentations
  • slide.md - Individual presentation slides

Metadata Structure

---
title: 'Page Title'
taxonomy:
    category: menu
visible: true
metadata:
    description: 'SEO description'
---

๐ŸŽจ Theme System

Gantry5 Framework

  • Base Theme: Hydrogen
  • Customizations: LERNREISE.TECH branding
  • Responsive: Mobile-first design
  • Assets: Custom CSS/JS integration

Custom Styling

/* Custom color scheme */
:root {
  --primary-color: #667eea;
  --secondary-color: #764ba2;
  --accent-color: #4CAF50;
  --background-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}

๐Ÿ”Œ API & Integration

Internal APIs

  • Progress Tracking API: LocalStorage-based
  • User Management API: Session-based
  • Content API: GRAV's built-in system

External Integrations

  • Markmap.js: Mind map visualization
  • D3.js: Data visualization library
  • GRAV CMS: Content management
  • Docker: Containerization

๐Ÿ“Š Performance Metrics

Current Performance

Page Load Times:
โ”œโ”€โ”€ Demo Guide: ~1.2s
โ”œโ”€โ”€ Test User Creator: ~0.8s
โ”œโ”€โ”€ Learning Dashboard: ~1.0s
โ”œโ”€โ”€ Knowledge Map Demo: ~1.5s
โ””โ”€โ”€ Documentation: ~0.6s

JavaScript Libraries: 640KB total
Interaction Response: <100ms
Mobile Performance: Optimized

Optimization Strategies

  • Local JavaScript libraries (no CDN dependency)
  • Minimal CSS framework usage
  • Optimized image assets
  • Browser caching strategies

๐Ÿ”’ Security Considerations

Current Security Measures

  • Container Isolation: Docker-based deployment
  • File Permissions: Proper www-data ownership
  • HTTPS: Let's Encrypt SSL certificates
  • Input Validation: GRAV's built-in protection
  • Session Management: Secure session handling

Privacy & GDPR

  • LocalStorage Only: No server-side user tracking
  • No Analytics: Privacy-first approach
  • No Cookies: Session-based authentication only
  • Open Source: Transparent code and data handling

๐Ÿงช Testing Framework

Manual Testing

  • Functional Testing: 5-minute test flow
  • Cross-Browser Testing: Modern browser support
  • Mobile Testing: Touch interaction validation
  • Performance Testing: Load time measurements

Automated Testing (Planned)

# Future testing setup
npm test              # Unit tests
npm run test:e2e      # End-to-end tests
npm run test:perf     # Performance tests
npm run test:a11y     # Accessibility tests

๐Ÿš€ Deployment

Current Deployment

  • Environment: stage.lernreise.tech
  • Container: lernreise-tech-staging
  • Status: Fully operational
  • Monitoring: Manual health checks

Deployment Commands

# Update container with new files
docker cp ./user/pages/ lernreise-tech-staging:/var/www/html/user/

# Set permissions
docker exec lernreise-tech-staging chown -R www-data:www-data /var/www/html/user/

# Restart if needed
docker restart lernreise-tech-staging

๐Ÿ“‹ Troubleshooting

Common Issues

  1. 404 Errors: Check file permissions and GRAV cache
  2. JavaScript Errors: Verify library loading order
  3. CSS Issues: Clear browser cache and check asset paths
  4. Performance: Optimize images and minify assets

Debug Commands

# Check container status
docker ps --filter name=lernreise-tech-staging

# View logs
docker logs lernreise-tech-staging

# Access container shell
docker exec -it lernreise-tech-staging /bin/bash

# Check file permissions
docker exec lernreise-tech-staging ls -la /var/www/html/user/pages/

๐Ÿ“ž Development Support

Technical Issues: dev@lernreise.tech
Documentation Updates: docs@lernreise.tech
Bug Reports: bugs@lernreise.tech


Letzte Aktualisierung: 2025-08-02 | Version: 2.0 Beta