Files
netwatch/README.md
fixclean ec20fa2f96 docs: update open TODO status and patchpanel documentation
- refresh TODO.md section for bugs/docs/status files

- align implementation status for delete/auth progress

- mark patchpanel infrastructure and floor SVG editor status in README

- finalize database patchpanel status notes and init.sql connection rules
2026-02-18 09:29:57 +01:00

327 lines
6.6 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
**Netzwerk-Dokumentations- und Verkabelungsverwaltungs-Tool**
> Status: ✅ **Alpha v0.2** - Core-Module funktionsfähig
---
## 🚀 Quick Start
```bash
# Docker starten
docker-compose up -d --build
# Dann öffnen
http://localhost
```
---
## ✨ Aktuelle Features (Feb 2026)
### 📊 Dashboard
- Live-Statistiken (Geräte, Typen, Racks, Stockwerke)
- Zuletzt hinzugefügte Geräte auf einen Blick
### 🔧 Gerätetypen
- Neue Gerätetypen definieren (Switch, Server, Patchpanel, ...)
- Bild-Upload (SVG, JPG, PNG)
- Port-Templates vordefin
ieren
### 🖥️ Geräte
- Geräte-Verwaltung mit Suche & Filter
- Rack-Position und Höheneinheiten (HE)
- Seriennummern & Kommentare
- Automatische Port-Übernahme vom Typ
### 📦 Racks
- Rack-Verwaltung nach Stockwerk
- Höhe in HE (Höheneinheiten)
- Automatische Geräte-Zählung
### 🏢 Stockwerke (Floors)
- Floorplan-Management (SVG-Upload)
- Gebäude-Struktur
- Raum- und Rack-Übersicht
### 🔗 Netzwerk-Verbindungen
- Verbindungen zwischen Geräten
- VLAN-Konfiguration
- Übersicht aller Links
---
## 📋 Struktur
### 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
- Patchpanels:
- Fest installierte Patchfelder, die im Raum- bzw. Stockwerksplan als eigene Objekte auftauchen.
- Sie stammen nicht aus dem `devices`-Modul, sondern zeigen die permanente Verdrahtung zwischen Patchpanels und Anschlussdosen.
- Die untereinander verbundenen Patchpanels lassen sich direkt auf der SVG-Stockwerkskarte verorten, damit jeder Port physisch nachvollziehbar bleibt.
- Verbindungen zu Racks / Switches darstellbar
### Patchpanel-Infrastruktur (Status: 18. Februar 2026)
- [x] Floorplans erweitert: Patchpanels können als feste Infrastrukturobjekte (ohne Rack-Device) inkl. `x/y` und Größe verwaltet werden.
- [x] Backend + SVG-Editor angepasst: Patchpanel-Ports werden über `floor_patchpanel_ports` gepflegt.
- [x] Patchpanel ↔ Patchpanel und Patchpanel ↔ Netzwerkbuchse werden über `connections` verwaltet.
- [x] SQL-Tabellen `floor_patchpanels` / `floor_patchpanel_ports` sind im Schema enthalten.
- [ ] Floorplan-Filter/Legend und erweiterte Suche für Infrastrukturobjekte weiter ausbauen.
### Stockwerksinfrastruktur-Modul
- Das neue Modul „Stockwerksinfrastruktur“ sammelt Patchpanels und Wandbuchsen an einem Ort.
- Patchfelder bekommen feste X/Y-Positionen, Maße, Portanzahl und verknüpfen zu Floorplans.
- Wandbuchsen sind direkt mit Räumen verbunden, können aber auch später im SVG verteilt werden.
- Ziel: Die Floorplan-Grafik zeigt die permanente Infrastruktur samt fest verlegter Kabelverläufe.
- [x] SVG-Editor für diese Objekte ist mit Drag & Drop umgesetzt und direkt mit dem Modul verbunden.
---
## 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.