Files
netwatch/README.md
Troy Grunt 5066262fca feat: Implement initial application structure with network view and SVG editor
- Added network-view.js for visualizing network topology with devices and connections.
- Introduced svg-editor.js for managing ports on device types with drag-and-drop functionality.
- Created bootstrap.php for application initialization, including configuration and database connection.
- Established config.php for centralized configuration settings.
- Developed index.php as the main entry point with module-based routing.
- Integrated _sql.php for database abstraction.
- Added auth.php for single-user authentication handling.
- Included helpers.php for utility functions.
- Created modules for managing connections, device types, devices, and floors.
- Implemented database schema in init.sql for locations, buildings, floors, rooms, network outlets, devices, and connections.
- Added Docker support with docker-compose.yml for web and database services.
- Documented database structure and UI/UX concepts in respective markdown files.
2026-02-05 23:41:54 +01:00

4.0 KiB
Raw Blame History

netwatch

Stockwerksplan (SVG)

  • Pro Stockwerk ein SVG
  • Enthält:
    • Räume (benennbar, nummerierbar)
    • Netzwerkdosen (frei platzierbar)
  • Elemente sind:
    • Verschiebbar
    • Nachträglich anpassbar
    • Eindeutig referenzierbar

Netzwerkdose

  • Name / Nummer
  • Raum
  • Anzahl Ports
  • Porttypen (z. B. RJ45, Glasfaser, BNC)
  • Ports sind vollständig normale Ports im System

Gerätetypen

Gerätetyp

Definiert das Aussehen und die Port-Geometrie eines Geräts.

Attribute

  • Name
  • Kategorie:
    • Switch
    • Server
    • Patchpanel
    • Sonstiges
  • Darstellung:
    • SVG oder
    • JPG/PNG

Portdefinition im Bild

Beim Anlegen eines Gerätetyps:

  • Bild wird angezeigt
  • Ports werden per Klick gesetzt:
    • X/Y relativ zum Bild
    • Portname
    • Porttyp
  • Diese Portdefinition ist die Vorlage für alle Geräte dieses Typs

Geräte

Gerät

Instanz eines Gerätetyps.

Attribute

  • Name
  • Gerätetyp
  • Standort / Rack / Stockwerk
  • Position im Rack:
    • Start-HE
    • Höhe in HE
  • Seriennummer (optional)
  • Kommentar

Ports werden automatisch aus dem Gerätetyp erzeugt.


Switches & Ports

Ports

  • Name / Nummer
  • Porttyp (frei definierbar)
  • Geschwindigkeit(en)
  • Status (aktiv / deaktiviert)
  • VLAN-Zuweisung
  • Modus:
    • Access
    • Trunk
    • Hybrid
    • Custom (Freitext)

Module (z. B. SFP, Spezialkarten)

Modul

Eigenständige Komponente, die in einen Port eingesetzt wird.

Eigenschaften

  • Name
  • Typ (z. B. SFP, QSFP, BNC-Modul)
  • Kompatible Porttypen
  • Eigene Ports (z. B. LC Duplex)

Logik

Switch-Port → Modul → Modul-Port → Verbindung

Module können selbst Ports besitzen und sind vollwertige Verbindungspartner.


Verbindungstypen

Verbindungstyp (frei definierbar)

  • Name
  • Medium:
    • Kupfer
    • Glasfaser
    • Koax
    • Sonstiges
  • Duplex:
    • Half
    • Full
    • Custom
  • Max. Geschwindigkeit (optional)
  • Darstellung:
    • Farbe
    • Linientyp (durchgezogen, gestrichelt)

Beispiele:

  • RJ45 Cat6
  • LC-LC Singlemode
  • BNC Token Ring
  • Proprietär XYZ

Verbindungen

Verbindung

  • Port A ↔ Port B
  • Verbindungstyp
  • VLAN(s)
  • Modus
  • Kommentar

Verbindungen werden:

  • logisch gespeichert
  • grafisch in allen relevanten SVGs dargestellt

Grafische Ansichten

Rack-Ansicht (SVG)

  • Frontansicht mit HE-Raster
  • Geräte:
    • korrekt skaliert
    • drag & drop
  • Kabel:
    • Linien zwischen Portpunkten
    • Farbe gemäß Verbindungstyp
    • Hover zeigt Details

Netzwerkansicht (Graph)

  • Geräte als Nodes
  • Verbindungen als Edges
  • Ports optional sichtbar
  • Layout:
    • automatisch (Force-Layout)
    • manuell verschiebbar
  • Filter:
    • VLAN
    • Verbindungstyp
    • Standort

Stockwerks- & Raumansicht

  • SVG-Plan pro Stockwerk
  • Netzwerkdosen:
    • anklickbar
    • Ports sichtbar
  • Verbindungen zu Racks / Switches darstellbar

Datenbank (konzeptionell)

Zentrale Tabellen

  • locations
  • buildings
  • floors
  • rooms
  • floor_svgs
  • network_outlets
  • device_types
  • device_type_ports
  • devices
  • device_ports
  • modules
  • module_ports
  • connection_types
  • connections
  • vlans
  • racks

Custom-Eigenschaften werden teilweise als JSON gespeichert, um Erweiterungen ohne Schema-Brüche zu ermöglichen.


Erweiterbarkeit

Geplant, aber nicht initial:

  • Mehrbenutzerfähigkeit
  • Historisierung / Änderungsverlauf
  • Rechte & Rollen
  • Export (JSON, CSV, PDF)
  • Theming / Design-System
  • API

Projektphasen

Phase 1 Fundament

  • Docker Compose
  • Basisdatenbank
  • CRUD für:
    • Verbindungstypen
    • Gerätetypen
    • Standorte

Phase 2 Grafik & Geräte

  • Gerätetyp-Editor mit Port-Klick
  • Rack-Ansicht
  • Geräteplatzierung

Phase 3 Verkabelung

  • Verbindungslogik
  • Module
  • VLANs
  • Visuelle Kabeldarstellung

Phase 4 Gebäudepläne

  • Stockwerks-SVG
  • Räume
  • Netzwerkdosen
  • Verknüpfung mit Geräten

Zielzustand

Ein zuverlässiges, verständliches und visuell präzises Werkzeug zur Netzwerkdokumentation, das nicht einschränkt, sondern reale, auch unkonventionelle Infrastrukturen korrekt abbilden kann.