Projektstruktur hinzugefügt
parent
97c970f0db
commit
7166250195
99
Projektstruktur-und-Best-Practices.-.md
Normal file
99
Projektstruktur-und-Best-Practices.-.md
Normal file
@ -0,0 +1,99 @@
|
|||||||
|
# Projektstruktur (Vorschlag)
|
||||||
|
|
||||||
|
*Hinweis: Dies ist lediglich ein Vorschlag meinerseits, um eine klare, sichere und nachvollziehbare Struktur für unser PHP‑/AD‑Projekt zu gewährleisten.*
|
||||||
|
|
||||||
|
Dieses Dokument beschreibt die empfohlene Ordnerstruktur für das Gitea‑Repository und für den späteren IIS‑Server. Ziel ist es, dass alle Teammitglieder dieselbe Struktur nutzen und dadurch ein einheitliches, stabiles Projekt entsteht.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Empfohlene Ordnerstruktur im Gitea‑Repository
|
||||||
|
|
||||||
|
```
|
||||||
|
ad-admin-panel/
|
||||||
|
├── public/
|
||||||
|
│ ├── index.php
|
||||||
|
│ ├── css/
|
||||||
|
│ ├── js/
|
||||||
|
│ ├── images/
|
||||||
|
│ └── assets/
|
||||||
|
├── app/
|
||||||
|
│ ├── Controllers/
|
||||||
|
│ ├── Services/
|
||||||
|
│ │ ├── Ldap/
|
||||||
|
│ │ ├── Powershell/
|
||||||
|
│ │ └── Snmp/
|
||||||
|
│ ├── Models/
|
||||||
|
│ └── Helpers/
|
||||||
|
├── config/
|
||||||
|
│ ├── config.example.php
|
||||||
|
│ └── config.php
|
||||||
|
├── scripts/
|
||||||
|
│ └── powershell/
|
||||||
|
├── storage/
|
||||||
|
│ ├── logs/
|
||||||
|
│ └── uploads/
|
||||||
|
├── docs/
|
||||||
|
│ ├── Architektur.md
|
||||||
|
│ ├── Deployment.md
|
||||||
|
│ └── API-Endpunkte.md
|
||||||
|
├── tests/
|
||||||
|
├── .gitignore
|
||||||
|
├── composer.json
|
||||||
|
└── README.md
|
||||||
|
```
|
||||||
|
|
||||||
|
### Hinweise
|
||||||
|
|
||||||
|
- `public/` ist das **einzige** Verzeichnis, das öffentlich erreichbar sein soll.
|
||||||
|
- `config.php`, `scripts/`, `storage/` gehören **nicht** ins Webroot.
|
||||||
|
- Die App wird strukturiert in Controller, Services, Models, Helpers.
|
||||||
|
- PowerShell-Skripte bleiben im Repo, liegen aber später auf dem Server außerhalb des Webroots.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Empfohlene Struktur auf dem IIS‑Server
|
||||||
|
|
||||||
|
```
|
||||||
|
C:\Web\AdAdminPanel
|
||||||
|
├── public\ # Webroot im IIS
|
||||||
|
├── app
|
||||||
|
├── config
|
||||||
|
├── scripts
|
||||||
|
│ └── powershell
|
||||||
|
├── storage
|
||||||
|
│ ├── logs
|
||||||
|
│ └── uploads
|
||||||
|
└── vendor
|
||||||
|
```
|
||||||
|
|
||||||
|
### Sicherheit
|
||||||
|
|
||||||
|
- IUSR/AppPool-Identität erhält nur die Rechte, die sie braucht.
|
||||||
|
- PowerShell-Skripte sollten nur von einem speziellen Service‑Account ausgeführt werden.
|
||||||
|
- `storage/` wird für Logs und Uploads verwendet und nicht in Git versioniert.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Bereiche, die von der Struktur profitieren
|
||||||
|
|
||||||
|
- AD-Benutzerverwaltung (LDAP/PowerShell)
|
||||||
|
- CSV-Massenanlage
|
||||||
|
- SNMP-Serverstatus
|
||||||
|
- Logging
|
||||||
|
- Wartbarkeit der PHP-Anwendung
|
||||||
|
- Deployment über Gitea
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Zusammenfassung
|
||||||
|
|
||||||
|
Diese Struktur trennt sauber:
|
||||||
|
|
||||||
|
- Weboberfläche
|
||||||
|
- Anwendungslogik
|
||||||
|
- Konfiguration
|
||||||
|
- PowerShell‑Integration
|
||||||
|
- Uploads & Logs
|
||||||
|
|
||||||
|
Damit bekommt das Projekt eine stabile technische Basis und jeder aus dem Team kann konsistent daran arbeiten.
|
||||||
|
|
||||||
Loading…
Reference in New Issue
Block a user