Skip to main content
Version: Sprint 4

Architecture

This directory contains the architectural documentation for the fla-- Turing Machine Simulator, presented using the 4+1 architectural view model.

Documentation is versioned by sprint. Use the version dropdown in the navigation bar to switch between sprint releases.

Current Sprint 4 technical descriptions were checked against application dev at 01c423c on 11 October 2026.

Contents​

DocumentViewDescription
Logical ViewLogicalClass diagrams, data models, type system, and core abstractions
Process ViewProcessEditing, saves, accepted invitations, persistent collaboration, grading, daily budgets, and Groq
Development ViewDevelopmentComponent structure, collaboration modules, dependencies, and runtime layers
Physical ViewPhysicalVercel and Docker deployment, infrastructure, storage, and WebSocket runtime
Database ViewDataAuth, documents, invitations, problems, daily progress, and Yjs update history
API ReferenceInterfaceDocument, problem, daily/admin and Groq contracts with endpoint-specific access
ScenariosScenariosUse case diagrams and sequence diagrams for key workflows

Sprint History​

  • Sprint 1 -- Initial architecture: single-tape TM engine, bidirectional sync, OAuth authentication, Vercel deployment.
  • Sprint 2 -- Multi-variant support (single-tape, multi-tape, multi-step), test execution engine (Marker), complexity analysis, file management with versioned storage, dashboard with document gallery, testing infrastructure (Vitest).
  • Sprint 3 -- Computational and nondeterministic machines, compiler diagnostics, contributor-based sharing, and real-time collaborative editing with Yjs.
  • Sprint 4 -- Current source baseline: problem publishing/server grading, black-box and build dailies, admin scheduling, Groq assistance, accepted invitations, shared documents, and PostgreSQL-backed Yjs rooms.

User interface wireframes include the original live-checked screens and additional source-derived learning, admin, and AI layouts.