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.
This commit is contained in:
250
README.md
250
README.md
@@ -1,2 +1,252 @@
|
||||
# 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.
|
||||
|
||||
Reference in New Issue
Block a user