Architecture Overview

System Architecture

The Terminal OS Portfolio is built on a modular architecture combining Jekyll static site generation with a client-side terminal emulator.

graph TB
    A[User Browser] --> B[Jekyll Site]
    B --> C[Terminal Layout]
    C --> D[xterm.js Terminal]
    D --> E[TerminalOS Core]
    E --> F[Virtual Filesystem]
    E --> G[Command Apps]
    E --> H[EcmaOS Kernel]
    E --> I[Theme Manager]
    E --> J[Effects System]
    F --> K[Jekyll Data Loader]
    K --> L[Jekyll Data Files]
    G --> M[Portfolio Commands]
    H --> N[System Commands]

Core Components

Terminal Engine

TerminalOS Core

Virtual Filesystem

Command System

EcmaOS Integration

Data Flow

  1. Build Time: Jekyll plugins generate data files from various sources
  2. Page Load: Jekyll data injected into window.JEKYLL_DATA
  3. Terminal Init: Filesystem loader populates virtual filesystem
  4. Command Execution: User input → Command router → App execution → Terminal output

Technology Stack

Design Principles

  1. Modularity: Each command is a separate, testable module
  2. Separation of Concerns: Core, filesystem, apps, themes are independent
  3. Progressive Enhancement: Works without EcmaOS, enhanced with it
  4. Error Handling: Graceful degradation at all levels
  5. Performance: Lazy loading, efficient rendering, optimized assets