- 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.
253 lines
4.0 KiB
Markdown
253 lines
4.0 KiB
Markdown
# 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.
|