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

253 lines
4.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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.