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

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.

Description
No description provided
Readme 347 KiB
Languages
PHP 70.5%
JavaScript 25.4%
CSS 4%