# vvvrome/unifiedlab architecture

> Architecture diagram of the GitHub repository vvvrome/unifiedlab, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-11). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/vvvrome/unifiedlab
- Repository: https://github.com/vvvrome/unifiedlab

## Overview

UnifiedLab combines a central account portal with separately launched DataCenter and PhysicLab applications, plus a StellarLab chemistry module whose routes are not yet integrated into the portal. The main user path is portal registration/login to its dashboard; users then access independently authenticated legacy apps. DataCenter runs a simulation alongside its web API, while PhysicLab serves mathematics and physics tools. StellarLab adds a second login after portal authentication. Edges reflect the README and shown references/calls; unsampled implementations are represented only at supported subsystem paths.

Main entry points: [`datacenter_original/simulacion/motor.py`](https://github.com/vvvrome/unifiedlab/blob/main/datacenter_original/simulacion/motor.py) (Simulation engine), [`datacenter_original/API/app.py`](https://github.com/vvvrome/unifiedlab/blob/main/datacenter_original/API/app.py) (Operations API and web UI), [`Quimica/routes.py`](https://github.com/vvvrome/unifiedlab/blob/main/Quimica/routes.py) (StellarLab routes and login), [`datacenter_original/main.py`](https://github.com/vvvrome/unifiedlab/blob/main/datacenter_original/main.py) (DataCenter startup and wiring)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_portal["UnifiedLab portal"]
  node_portal_app["Portal account and dashboard<br/>[app.py]"]
  node_portal_db[("Portal account store<br/>[app.py]")]
end

subgraph group_dc["DataCenter operations"]
  node_dc_main["DataCenter startup and wiring<br/>[main.py]"]
  node_dc_api["Operations API and web UI<br/>[app.py]"]
  node_dc_users[("Local users and authentication<br/>[users.py]")]
  node_dc_audit[("Audit log<br/>[audit.py]")]
  node_dc_infra["Datacenter and rack infrastructure<br/>[datacenter.py]"]
  node_dc_network["Switches and routing<br/>[router.py]"]
  node_dc_server["Server resources<br/>[server.py]"]
  node_dc_engine["Simulation engine<br/>[motor.py]"]
  node_dc_workload["Workload simulation<br/>[workload.py]"]
  node_dc_plant["Plant process and controls<br/>[proceso.py]"]
  node_dc_alerts["Operational alerts<br/>[alerts.py]"]
  node_dc_security["Network security manager"]
  node_dc_firewall["Firewall policies<br/>[firewall.py]"]
  node_dc_ids["Intrusion detection<br/>[ids.py]"]
  node_dc_qkd["Quantum key sessions<br/>[qkd_manager.py]"]
  node_dc_qkd_session["QKD protocol session<br/>[qkd.py]"]
  node_dc_monitor["Monitoring and metrics<br/>[metrics.py]"]
end

subgraph group_physics["PhysicLab tools"]
  node_physics_app["Math and physics web app<br/>[app.py]"]
  node_algebra["Linear algebra tools<br/>[Algebra.py]"]
  node_physics_core["Physics calculations<br/>[Fisica_I.py]"]
end

subgraph group_stellar["StellarLab"]
  node_stellar_routes["StellarLab routes and login<br/>[routes.py]"]
  node_stellar_models["Star and planet models<br/>[planet_model.py]"]
  node_stellar_physics["Stellar physics calculations<br/>[stellar_physics.py]"]
  node_orbital_sim["Orbital simulation"]
  node_stellar_validation["Input validation<br/>[validation.py]"]
end

node_user(("User"))

node_user -->|"registers or logs in"| node_portal_app
node_portal_app -->|"stores account"| node_portal_db
node_portal_app -->|"registers routes"| node_stellar_routes
node_user -->|"uses operations UI"| node_dc_api
node_dc_api -->|"authenticates users"| node_dc_users
node_dc_api -->|"records audit events"| node_dc_audit
node_dc_main -->|"creates app"| node_dc_api
node_dc_main -->|"starts simulation"| node_dc_engine
node_dc_main -->|"builds datacenter"| node_dc_infra
node_dc_main -->|"configures network"| node_dc_network
node_dc_infra -->|"builds servers"| node_dc_server
node_dc_engine -->|"uses workload"| node_dc_workload
node_dc_engine -->|"updates process"| node_dc_plant
node_dc_engine -->|"uses alerts"| node_dc_alerts
node_dc_engine -->|"uses security"| node_dc_security
node_dc_security -->|"checks policy"| node_dc_firewall
node_dc_security -->|"inspects traffic"| node_dc_ids
node_dc_api -->|"requests QKD session"| node_dc_plant
node_dc_qkd -->|"runs session"| node_dc_qkd_session
node_user -->|"uses science tools"| node_physics_app
node_physics_app -->|"calls algebra tools"| node_algebra
node_physics_app -->|"uses physics module"| node_physics_core
node_user -->|"authenticates and explores"| node_stellar_routes
node_stellar_routes -->|"uses domain models"| node_stellar_models
node_stellar_routes -->|"uses calculations"| node_stellar_physics
node_stellar_routes -->|"invokes simulation"| node_orbital_sim
node_stellar_models -->|"validates inputs"| node_stellar_validation

click node_portal_app "https://github.com/vvvrome/unifiedlab/blob/main/portal/app.py"
click node_portal_db "https://github.com/vvvrome/unifiedlab/blob/main/portal/app.py"
click node_stellar_routes "https://github.com/vvvrome/unifiedlab/blob/main/Quimica/routes.py"
click node_stellar_models "https://github.com/vvvrome/unifiedlab/blob/main/Quimica/planet_model.py"
click node_stellar_physics "https://github.com/vvvrome/unifiedlab/blob/main/Quimica/stellar_physics.py"
click node_orbital_sim "https://github.com/vvvrome/unifiedlab/blob/main/Quimica/orbital_simulator.py"
click node_stellar_validation "https://github.com/vvvrome/unifiedlab/blob/main/Quimica/validation.py"
click node_dc_main "https://github.com/vvvrome/unifiedlab/blob/main/datacenter_original/main.py"
click node_dc_api "https://github.com/vvvrome/unifiedlab/blob/main/datacenter_original/API/app.py"
click node_dc_users "https://github.com/vvvrome/unifiedlab/blob/main/datacenter_original/database/users.py"
click node_dc_audit "https://github.com/vvvrome/unifiedlab/blob/main/datacenter_original/database/audit.py"
click node_dc_infra "https://github.com/vvvrome/unifiedlab/blob/main/datacenter_original/infraestructura/datacenter.py"
click node_dc_network "https://github.com/vvvrome/unifiedlab/blob/main/datacenter_original/infraestructura/router.py"
click node_dc_server "https://github.com/vvvrome/unifiedlab/blob/main/datacenter_original/infraestructura/server.py"
click node_dc_engine "https://github.com/vvvrome/unifiedlab/blob/main/datacenter_original/simulacion/motor.py"
click node_dc_workload "https://github.com/vvvrome/unifiedlab/blob/main/datacenter_original/simulacion/workload.py"
click node_dc_plant "https://github.com/vvvrome/unifiedlab/blob/main/datacenter_original/planta/proceso.py"
click node_dc_alerts "https://github.com/vvvrome/unifiedlab/blob/main/datacenter_original/monitorizar/alerts.py"
click node_dc_security "https://github.com/vvvrome/unifiedlab/blob/main/datacenter_original/seguridad/security_manager.py"
click node_dc_firewall "https://github.com/vvvrome/unifiedlab/blob/main/datacenter_original/seguridad/firewall.py"
click node_dc_ids "https://github.com/vvvrome/unifiedlab/blob/main/datacenter_original/seguridad/ids.py"
click node_dc_qkd "https://github.com/vvvrome/unifiedlab/blob/main/datacenter_original/planta/security/qkd_manager.py"
click node_dc_qkd_session "https://github.com/vvvrome/unifiedlab/blob/main/datacenter_original/planta/security/qkd.py"
click node_dc_monitor "https://github.com/vvvrome/unifiedlab/blob/main/datacenter_original/monitorizar/metrics.py"
click node_physics_app "https://github.com/vvvrome/unifiedlab/blob/main/PhysicLab/app.py"
click node_algebra "https://github.com/vvvrome/unifiedlab/blob/main/PhysicLab/python/Algebra.py"
click node_physics_core "https://github.com/vvvrome/unifiedlab/blob/main/PhysicLab/python/Fisica_I.py"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_portal_app,node_portal_db,node_user toneBlue
class node_dc_main,node_dc_api,node_dc_users,node_dc_audit,node_dc_infra,node_dc_network,node_dc_server,node_dc_engine,node_dc_workload,node_dc_plant,node_dc_alerts,node_dc_security,node_dc_firewall,node_dc_ids,node_dc_qkd,node_dc_qkd_session,node_dc_monitor toneAmber
class node_physics_app,node_algebra,node_physics_core toneMint
class node_stellar_routes,node_stellar_models,node_stellar_physics,node_orbital_sim,node_stellar_validation toneRose
```

## Components

### UnifiedLab portal

- [Portal account and dashboard](https://github.com/vvvrome/unifiedlab/blob/main/portal/app.py): `portal/app.py`
- [Portal account store](https://github.com/vvvrome/unifiedlab/blob/main/portal/app.py): `portal/app.py`

### DataCenter operations

- [DataCenter startup and wiring](https://github.com/vvvrome/unifiedlab/blob/main/datacenter_original/main.py): `datacenter_original/main.py`
- [Operations API and web UI](https://github.com/vvvrome/unifiedlab/blob/main/datacenter_original/API/app.py): `datacenter_original/API/app.py`
- [Local users and authentication](https://github.com/vvvrome/unifiedlab/blob/main/datacenter_original/database/users.py): `datacenter_original/database/users.py`
- [Audit log](https://github.com/vvvrome/unifiedlab/blob/main/datacenter_original/database/audit.py): `datacenter_original/database/audit.py`
- [Datacenter and rack infrastructure](https://github.com/vvvrome/unifiedlab/blob/main/datacenter_original/infraestructura/datacenter.py): `datacenter_original/infraestructura/datacenter.py`
- [Switches and routing](https://github.com/vvvrome/unifiedlab/blob/main/datacenter_original/infraestructura/router.py): `datacenter_original/infraestructura/router.py`
- [Server resources](https://github.com/vvvrome/unifiedlab/blob/main/datacenter_original/infraestructura/server.py): `datacenter_original/infraestructura/server.py`
- [Simulation engine](https://github.com/vvvrome/unifiedlab/blob/main/datacenter_original/simulacion/motor.py): `datacenter_original/simulacion/motor.py`
- [Workload simulation](https://github.com/vvvrome/unifiedlab/blob/main/datacenter_original/simulacion/workload.py): `datacenter_original/simulacion/workload.py`
- [Plant process and controls](https://github.com/vvvrome/unifiedlab/blob/main/datacenter_original/planta/proceso.py): `datacenter_original/planta/proceso.py`
- [Operational alerts](https://github.com/vvvrome/unifiedlab/blob/main/datacenter_original/monitorizar/alerts.py): `datacenter_original/monitorizar/alerts.py`
- [Network security manager](https://github.com/vvvrome/unifiedlab/blob/main/datacenter_original/seguridad/security_manager.py): `datacenter_original/seguridad/security_manager.py`
- [Firewall policies](https://github.com/vvvrome/unifiedlab/blob/main/datacenter_original/seguridad/firewall.py): `datacenter_original/seguridad/firewall.py`
- [Intrusion detection](https://github.com/vvvrome/unifiedlab/blob/main/datacenter_original/seguridad/ids.py): `datacenter_original/seguridad/ids.py`
- [Quantum key sessions](https://github.com/vvvrome/unifiedlab/blob/main/datacenter_original/planta/security/qkd_manager.py): `datacenter_original/planta/security/qkd_manager.py`
- [QKD protocol session](https://github.com/vvvrome/unifiedlab/blob/main/datacenter_original/planta/security/qkd.py): `datacenter_original/planta/security/qkd.py`
- [Monitoring and metrics](https://github.com/vvvrome/unifiedlab/blob/main/datacenter_original/monitorizar/metrics.py): `datacenter_original/monitorizar/metrics.py`

### PhysicLab tools

- [Math and physics web app](https://github.com/vvvrome/unifiedlab/blob/main/PhysicLab/app.py): `PhysicLab/app.py`
- [Linear algebra tools](https://github.com/vvvrome/unifiedlab/blob/main/PhysicLab/python/Algebra.py): `PhysicLab/python/Algebra.py`
- [Physics calculations](https://github.com/vvvrome/unifiedlab/blob/main/PhysicLab/python/Fisica_I.py): `PhysicLab/python/Fisica_I.py`

### StellarLab

- [StellarLab routes and login](https://github.com/vvvrome/unifiedlab/blob/main/Quimica/routes.py): `Quimica/routes.py`
- [Star and planet models](https://github.com/vvvrome/unifiedlab/blob/main/Quimica/planet_model.py): `Quimica/planet_model.py`
- [Stellar physics calculations](https://github.com/vvvrome/unifiedlab/blob/main/Quimica/stellar_physics.py): `Quimica/stellar_physics.py`
- [Orbital simulation](https://github.com/vvvrome/unifiedlab/blob/main/Quimica/orbital_simulator.py): `Quimica/orbital_simulator.py`
- [Input validation](https://github.com/vvvrome/unifiedlab/blob/main/Quimica/validation.py): `Quimica/validation.py`

### Other components

- **User**

## Connections

- User → Portal account and dashboard: registers or logs in
- Portal account and dashboard → Portal account store: stores account (evidence: `portal/app.py`)
- Portal account and dashboard → StellarLab routes and login: registers routes (evidence: `portal/app.py`)
- User → Operations API and web UI: uses operations UI
- Operations API and web UI → Local users and authentication: authenticates users (evidence: `datacenter_original/API/app.py`)
- Operations API and web UI → Audit log: records audit events (evidence: `datacenter_original/API/app.py`)
- DataCenter startup and wiring → Operations API and web UI: creates app (evidence: `datacenter_original/main.py`)
- DataCenter startup and wiring → Simulation engine: starts simulation (evidence: `datacenter_original/main.py`)
- DataCenter startup and wiring → Datacenter and rack infrastructure: builds datacenter (evidence: `datacenter_original/main.py`)
- DataCenter startup and wiring → Switches and routing: configures network (evidence: `datacenter_original/main.py`)
- Datacenter and rack infrastructure → Server resources: builds servers (evidence: `datacenter_original/infraestructura/datacenter.py`)
- Simulation engine → Workload simulation: uses workload (evidence: `datacenter_original/simulacion/motor.py`)
- Simulation engine → Plant process and controls: updates process (evidence: `datacenter_original/simulacion/motor.py`)
- Simulation engine → Operational alerts: uses alerts (evidence: `datacenter_original/simulacion/motor.py`)
- Simulation engine → Network security manager: uses security (evidence: `datacenter_original/simulacion/motor.py`)
- Network security manager → Firewall policies: checks policy (evidence: `datacenter_original/seguridad/security_manager.py`)
- Network security manager → Intrusion detection: inspects traffic (evidence: `datacenter_original/seguridad/security_manager.py`)
- Operations API and web UI → Plant process and controls: requests QKD session (evidence: `datacenter_original/API/app.py`)
- Quantum key sessions → QKD protocol session: runs session (evidence: `datacenter_original/planta/security/qkd_manager.py`)
- User → Math and physics web app: uses science tools
- Math and physics web app → Linear algebra tools: calls algebra tools (evidence: `PhysicLab/app.py`)
- Math and physics web app → Physics calculations: uses physics module (evidence: `PhysicLab/app.py`)
- User → StellarLab routes and login: authenticates and explores (evidence: `Quimica/routes.py`)
- StellarLab routes and login → Star and planet models: uses domain models (evidence: `Quimica/routes.py`)
- StellarLab routes and login → Stellar physics calculations: uses calculations (evidence: `Quimica/routes.py`)
- StellarLab routes and login → Orbital simulation: invokes simulation (evidence: `Quimica/routes.py`)
- Star and planet models → Input validation: validates inputs (evidence: `Quimica/planet_model.py`)
