Add inventory system overview page with detailed module descriptions and styles
This commit is contained in:
@@ -278,6 +278,11 @@ def projekte():
|
||||
return render_template("projekte.html")
|
||||
|
||||
|
||||
@app.route('/inventarsystem')
|
||||
def inventarsystem():
|
||||
return render_template("inventarsystem.html")
|
||||
|
||||
|
||||
@app.route('/team')
|
||||
def team():
|
||||
return render_template("team.html")
|
||||
|
||||
+1127
-1013
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -268,6 +268,7 @@
|
||||
<a href="{{ url_for('projekte') }}">Projekte</a>
|
||||
<a href="{{ url_for('team') }}">Team</a>
|
||||
<a href="{{ url_for('kontakt') }}">Kontakt</a>
|
||||
<a href="{{ url_for('inventarsystem') }}">Unser Produkt</a>
|
||||
</div>
|
||||
<div class="nav-actions">
|
||||
{% if 'username' in session %}
|
||||
|
||||
@@ -0,0 +1,110 @@
|
||||
{% extends "base.html" %}
|
||||
|
||||
{% block title %}Inventarsystem | Funktionsübersicht & Module{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<section class="page-hero">
|
||||
<h1>Funktionsmodule: Inventarsystem</h1>
|
||||
<p>Detaillierte Übersicht der technischen Kernkomponenten und der systemseitigen Datenverarbeitung.</p>
|
||||
</section>
|
||||
|
||||
<section class="split">
|
||||
<article class="panel">
|
||||
<h2>Digitale Objektverwaltung</h2>
|
||||
<div class="image-placeholder">
|
||||
<span>[Screenshot: Asset-Detailansicht mit technischen Spezifikationen und Dateianhängen]</span>
|
||||
</div>
|
||||
<p>Das Modul zur Verwaltung einzelner Assets bildet die Basis der Datenbank und erlaubt eine granulare Datenerfassung.</p>
|
||||
<ul>
|
||||
<li><strong>Datenfelder:</strong> Erfassung von Seriennummern, Modellbezeichnungen, Kaufdatum und Anschaffungswerten.</li>
|
||||
<li><strong>Dokumenten-Ablage:</strong> Direkte Verknüpfung von PDF-Rechnungen, Handbüchern oder Garantiescheinen mit dem Objekt.</li>
|
||||
<li><strong>Zustands-Tracking:</strong> Systemseitige Kategorisierung in Zustände wie "Einsatzbereit", "Defekt" oder "In Reparatur".</li>
|
||||
</ul>
|
||||
</article>
|
||||
|
||||
<article class="panel">
|
||||
<h2>Hierarchische Standort-Logik</h2>
|
||||
<div class="image-placeholder">
|
||||
<span>[Grafik: Strukturbaum der Standorte – Gebäude, Stockwerk, Raum]</span>
|
||||
</div>
|
||||
<p>Die Standortverwaltung ermöglicht eine präzise physische Verortung jedes Inventargegenstands im System.</p>
|
||||
<ul>
|
||||
<li><strong>Mehrstufige Baumstruktur:</strong> Definition von Hauptstandorten, Unterräumen und spezifischen Lagerplätzen (z.B. Schranknummer).</li>
|
||||
<li><strong>Massen-Transfer:</strong> Funktion zum gleichzeitigen Verschieben mehrerer Assets zwischen verschiedenen Standorten.</li>
|
||||
<li><strong>Raum-Inventur:</strong> Exportierbare Checklisten pro Raum für den schnellen Abgleich vor Ort.</li>
|
||||
</ul>
|
||||
</article>
|
||||
</section>
|
||||
|
||||
<section class="split" style="margin-top:0.9rem;">
|
||||
<article class="panel">
|
||||
<h2>QR-Code & Mobil-Schnittstelle</h2>
|
||||
<div class="image-placeholder">
|
||||
<span>[Screenshot: Mobile Ansicht des Scanners und generierte QR-Code Labels]</span>
|
||||
</div>
|
||||
<p>Das System integriert eine Schnittstelle für die physische Identifikation via Scan-Verfahren.</p>
|
||||
<ul>
|
||||
<li><strong>Automatisierte Label-Generierung:</strong> Erstellung von druckfertigen QR-Codes direkt aus der Datenbank.</li>
|
||||
<li><strong>Direkt-Aktionen:</strong> Beim Scannen öffnet das System sofort die Objektakte für Statusänderungen oder Wartungseinträge.</li>
|
||||
<li><strong>Hardware-Unabhängigkeit:</strong> Unterstützung gängiger USB-Handscanner sowie der Kamerafunktion von Mobilgeräten.</li>
|
||||
</ul>
|
||||
</article>
|
||||
|
||||
<article class="panel">
|
||||
<h2>Transaktions- & Leihhistorie</h2>
|
||||
<div class="image-placeholder">
|
||||
<span>[Grafik: Zeitstrahl eines Assets von Anschaffung bis Aussonderung]</span>
|
||||
</div>
|
||||
<p>Jede Änderung am Status oder Standort eines Objekts wird als unveränderbarer Datensatz gespeichert.</p>
|
||||
<ul>
|
||||
<li><strong>Leihvorgänge:</strong> Dokumentation von Ausgabe- und Rückgabedaten inklusive Zuweisung zu Personen-IDs.</li>
|
||||
<li><strong>Fristenverwaltung:</strong> Systemseitige Überwachung von Rückgabedaten mit automatischer Kennzeichnung überfälliger Assets.</li>
|
||||
<li><strong>Audit-Logging:</strong> Lückenloser Nachweis über alle Systemzugriffe und Datenänderungen (Wer hat was wann geändert?).</li>
|
||||
</ul>
|
||||
</article>
|
||||
</section>
|
||||
|
||||
<section class="panel" style="margin-top:0.9rem;">
|
||||
<h2>Benutzerrollen & Datenschnittstellen</h2>
|
||||
<div class="image-placeholder" style="height: 120px;">
|
||||
<span>[Diagramm: Rollenbasiertes Zugriffskonzept (RBAC) und Export-Workflow]</span>
|
||||
</div>
|
||||
<p>Die Administration erfolgt über ein differenziertes Berechtigungssystem zur Steuerung der Datenintegrität.</p>
|
||||
<ul style="display: grid; grid-template-columns: 1fr 1fr; gap: 1rem;">
|
||||
<li><strong>Rollenmanagement:</strong> Trennung zwischen Administratoren (Vollzugriff), Technikern (Wartungsrechte) und Lese-Accounts.</li>
|
||||
<li><strong>Export-Modul:</strong> Datenausgabe in Formaten wie CSV, JSON oder Excel für externe Revisionen.</li>
|
||||
<li><strong>Sicherheits-Protokolle:</strong> Verschlüsselte Speicherung und passwortgeschützte Zugriffsebenen.</li>
|
||||
<li><strong>API-Anbindung:</strong> Vorbereitete Endpunkte für die Synchronisation mit anderen Datenbank-Systemen.</li>
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
<style>
|
||||
/* Konsistente Stile für die Funktionspräsentation */
|
||||
.page-hero { margin-bottom: 1.2rem; }
|
||||
.split { display: grid; grid-template-columns: 1fr 1fr; gap: 0.9rem; }
|
||||
.panel { background: #fff; border: 1px solid #d8e1e8; border-radius: 14px; padding: 1.2rem; }
|
||||
.panel h2 { color: #0f334b; margin-bottom: 0.6rem; font-size: 1.25rem; }
|
||||
.panel p { color: #466176; line-height: 1.5; margin-bottom: 1rem; font-size: 0.95rem; }
|
||||
.panel ul { margin: 0; padding-left: 1.2rem; color: #466176; display: grid; gap: 0.5rem; }
|
||||
|
||||
.image-placeholder {
|
||||
background: #f8fafc;
|
||||
border: 2px dashed #cbd5e1;
|
||||
border-radius: 10px;
|
||||
height: 160px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
color: #94a3b8;
|
||||
font-size: 0.8rem;
|
||||
text-align: center;
|
||||
margin-bottom: 1rem;
|
||||
padding: 15px;
|
||||
}
|
||||
|
||||
@media (max-width: 900px) {
|
||||
.split { grid-template-columns: 1fr; }
|
||||
.panel ul { grid-template-columns: 1fr !important; }
|
||||
}
|
||||
</style>
|
||||
{% endblock %}
|
||||
Reference in New Issue
Block a user