How mohsenmehri/fam works
This repository contains two user-facing products: FAM, a workbook and equipment-management service, and Protocol Explorer, a browser-based network-protocol learning tool. In FAM, users work through the central service for validated, permission-aware state operations; equipment tasks additionally use bounded SSH probing and diagnostic evidence. Protocol Explorer assembles protocol lessons and translations into interactive network scenes. The graph preserves documented/source-index relationships; several FAM modules and the protocol UI were not excerpted, so uncertain runtime links are omitted.
Main entry points: app.py Central Service · app.js Explorer UI · equipment_ops.py Equipment API · data-catalog.js Protocol Catalog
Components 21
FAM Service
- Central Service
FAM-Linux-Lab/server/app.py - Account Policy
FAM-Linux-Lab/server/account_policy.py - Backup Restore
FAM-Linux-Lab/server/manage.py - FAM State
FAM-Linux-Lab/data/fam.sqlite3 - Candidate Service Snapshot
FAM-Linux-Lab/data/fam-auth-fix-1hdngowc/app.candidate.py
Equipment Operations
- Equipment Inventory
FAM-Linux-Lab/server/equipment_inventory.py - Equipment API
FAM-Linux-Lab/server/equipment_ops.py - SSH Probe
FAM-Linux-Lab/server/equipment_probe.py - Operation Guard
FAM-Linux-Lab/server/equipment_guard.py - Port Diagnostics
FAM-Linux-Lab/server/equipment_diagnostics.py - Equipment Groups
FAM-Linux-Lab/server/equipment_group.py - Equipment Replacement
FAM-Linux-Lab/server/equipment_replacement.py
Protocol Content
- Data Facade
protocol-explorer/js/data.js - Protocol Catalog
protocol-explorer/js/data-catalog.js - Core Lessons
protocol-explorer/js/data-core.js - Additional Lessons
protocol-explorer/js/data-more.js
Protocol Explorer
- Explorer UI
protocol-explorer/js/app.js - Scene Renderer
protocol-explorer/js/scene.js - Translations
protocol-explorer/js/i18n.js
Other components
- FAM User
- Explorer User
Connections 20
- FAM User → Central Service: uses
- Central Service → Account Policy: checks policy
FAM-Linux-Lab/server/app.py - Central Service → Backup Restore: delegates administration
FAM-Linux-Lab/server/app.py - Central Service → Equipment Inventory: uses inventory
FAM-Linux-Lab/server/app.py - Central Service → Equipment API: routes operations
FAM-Linux-Lab/server/app.py - Backup Restore → Account Policy: checks managers
FAM-Linux-Lab/server/manage.py - Central Service → FAM State: persists state
- Equipment API → SSH Probe: runs probe
FAM-Linux-Lab/server/equipment_ops.py - Equipment API → Operation Guard: checks operations
FAM-Linux-Lab/server/equipment_ops.py - SSH Probe → Port Diagnostics: uses diagnostics
FAM-Linux-Lab/server/equipment_probe.py - Equipment Groups → Port Diagnostics: uses evidence
FAM-Linux-Lab/server/equipment_group.py - Equipment Groups → Equipment Replacement: uses replacement
FAM-Linux-Lab/server/equipment_group.py - Equipment Replacement → Port Diagnostics: uses evidence
FAM-Linux-Lab/server/equipment_replacement.py - Explorer User → Explorer UI: explores
- Explorer UI → Data Facade: loads data
protocol-explorer/js/app.js - Explorer UI → Scene Renderer: renders scenes
protocol-explorer/js/app.js - Explorer UI → Translations: loads language
protocol-explorer/js/app.js - Data Facade → Protocol Catalog: exports catalog
protocol-explorer/js/data.js - Protocol Catalog → Core Lessons: imports lessons
protocol-explorer/js/data-catalog.js - Protocol Catalog → Additional Lessons: imports lessons
protocol-explorer/js/data-catalog.js