195 lines
8.4 KiB
Markdown
195 lines
8.4 KiB
Markdown
# Konzept: Webanwendung zur Unterstützung der Kundenakquise
|
|
|
|
Datum: 08. Juni 2026
|
|
Verantwortlich: Gerd Goldberg
|
|
|
|
## 1. Einleitung
|
|
|
|
Dieses Dokument beschreibt das Konzept für eine neue Webanwendung, die eine bestehende
|
|
Anwendung zur Kundenakquise ablösen soll. Die neue Lösung ermöglicht die Verwaltung von
|
|
Kunden, Kontakten, Projekten und Gesprächsnotizen sowie die manuelle und optionale
|
|
telefonieintegrierte Erfassung von Anrufen, um Akquise-Prozesse effizient zu unterstützen.
|
|
Ziel ist die Ablösung der bestehenden Anwendung, um die Effizienz, Benutzerfreundlichkeit
|
|
und Transparenz der Akquise-Prozesse zu steigern. Alle relevanten Informationen werden zentral
|
|
verwaltet und können einfach ausgewertet werden.
|
|
|
|
---
|
|
|
|
## 2. Zielsetzung
|
|
|
|
Die neue Webanwendung soll folgende Hauptziele erfüllen:
|
|
|
|
- Ablösung der bestehenden Anwendung durch eine moderne, webbasierte Lösung.
|
|
- Zentrale Verwaltung von Kunden, Kontakten und Projekten.
|
|
- Dokumentation von Akquise-Aktivitäten (Anrufe, Gesprächsnotizen, Tags).
|
|
- Manuelle Erfassung von Anrufen (ausgehend und eingehend).
|
|
- Flexible Import-Schnittstelle für Kontaktadressen (Excel/CSV).
|
|
- Optionale Telefonie-Integration (für spätere Entwicklung vorgesehen).
|
|
- Auswertungen und Exporte zur Analyse der Akquise-Erfolge.
|
|
- Mehrbenutzerfähigkeit mit projektbasierten Zugriffsrechten.
|
|
|
|
---
|
|
|
|
## 3. Funktionsumfang
|
|
|
|
### 3.1 Kunden- und Kontaktverwaltung
|
|
|
|
- **Kundenstamm:** Verwaltung aller Kunden (Firmen oder Privatpersonen) mit allen
|
|
relevanten Daten (Name, Adresse, Kontaktdaten).
|
|
- **Kontakte:**
|
|
- Definition: Ansprechpartner beim Kunden (Auftraggeber).
|
|
- Jeder Kunde kann mehrere Kontakte (Ansprechpartner) mit individuellen Daten
|
|
(Name, Position, Telefonnummer, E-Mail) haben.
|
|
- Jeder Kontakt ist genau einem Kunden zugeordnet.
|
|
|
|
### 3.2 Projektverwaltung
|
|
|
|
- Jeder Kunde kann ein oder mehrere Projekte haben.
|
|
- Projekte dienen der Strukturierung der Akquise-Aktivitäten und können mit Benutzern
|
|
verknüpft werden.
|
|
|
|
### 3.3 Kontaktadressen und Gesprächsnotizen
|
|
|
|
- **Kontaktadressen:**
|
|
- Definition: Kontakte, die im Rahmen eines Projekts angerufen werden sollen.
|
|
- Dies können Firmen oder Privatpersonen sein, die als potenzielle Interessenten
|
|
oder Zielgruppen für die Akquise infrage kommen.
|
|
- Jede Kontaktadresse enthält Informationen wie Name, Telefonnummer, E-Mail,
|
|
Firma (falls zutreffend) und weitere Details.
|
|
- Zuordnung zu Projekten: Jede Kontaktadresse ist genau einem Projekt zugeordnet.
|
|
- Importfunktion: Kontaktadressen können per Excel oder CSV importiert werden
|
|
(siehe Abschnitt 3.4).
|
|
- **Gesprächsnotizen:**
|
|
- Zu jedem Anruf (manuell oder telefonieintegriert) an eine Kontaktadresse wird eine
|
|
Notiz erfasst, die folgende Informationen enthält:
|
|
- Metadaten: Datum, Uhrzeit, Anrufer (Benutzer), angerufene
|
|
Kontaktadresse, Projekt, Anrufrichtung (ausgehend/eingehend), Dauer.
|
|
- Inhalt: Freier Text zur Dokumentation des Gesprächs.
|
|
- Tags: Benutzerdefinierte Kennzeichen zur Kategorisierung (z. B. „Unterlagen
|
|
schicken", „Kein Interesse", „Wiedervorlage").
|
|
|
|
### 3.4 Import-Schnittstelle für Kontaktadressen
|
|
|
|
- **Flexibler Import:**
|
|
- Unterstützte Formate: Excel (XLSX) und CSV.
|
|
- Feldzuordnung: Der Benutzer kann die Spalten der Importdatei den Feldern der
|
|
Anwendung zuordnen (z. B. Name → Name, Telefonnummer → Telefonnummer).
|
|
- Validierung: Automatische Prüfung der Daten auf Vollständigkeit und Konsistenz
|
|
(z. B. Telefonnummernformat).
|
|
- Fehlerbehandlung: Anzeige von Fehlern (z. B. fehlende Pflichtfelder) und
|
|
Möglichkeit zur Korrektur vor dem Import.
|
|
- Projektzuordnung: Beim Import kann das Zielprojekt ausgewählt werden, dem die
|
|
Kontaktadressen zugeordnet werden sollen.
|
|
|
|
### 3.5 Manuelle Anrufverarbeitung
|
|
|
|
- **Erfassung von Anrufen:**
|
|
- Benutzer können manuell ausgehende und eingehende Anrufe erfassen.
|
|
- Formular zur manuellen Eingabe von Anrufdaten (Datum, Uhrzeit,
|
|
Kontaktadresse, Notiz, Tags).
|
|
- Flexibilität: Ermöglicht die Nutzung der Anwendung unabhängig von einer
|
|
Telefonie-Integration.
|
|
|
|
### 3.6 Optionale Telefonie-Integration (für spätere Entwicklung)
|
|
|
|
- **Zukünftige Erweiterung:**
|
|
- Outbound-Calls: Direktes Anrufen von Kontaktadressen aus der Anwendung heraus
|
|
(über JavaScript-Bibliotheken wie SIP.js oder Anbieter-SDKs).
|
|
- Inbound-Calls: Automatische Anzeige des zugehörigen Kunden oder Kontakts bei
|
|
eingehenden Anrufen.
|
|
- Call-Logging: Automatische Speicherung von Anrufdaten (Datum, Uhrzeit, Dauer)
|
|
und Zuordnung zu Gesprächsnotizen.
|
|
- Hinweis: Diese Funktion ist optional und für eine spätere Entwicklungsphase
|
|
vorgesehen.
|
|
|
|
### 3.7 Auswertungen und Exporte
|
|
|
|
- Statistiken: Anzahl der Kontakte, Erfolgsquoten, Bearbeitungszeiten.
|
|
- Filterfunktionen: Auswertungen nach Kunde, Projekt, Benutzer, Tag oder Zeitrahmen.
|
|
- Exportformate: CSV, Excel (XLSX), PDF.
|
|
|
|
### 3.8 Mehrbenutzerfähigkeit
|
|
|
|
- Benutzerverwaltung: Jeder Benutzer hat einen eigenen Account mit Login-Daten.
|
|
- Projektzuordnung: Benutzer werden einem oder mehreren Projekten zugeordnet und
|
|
dürfen nur in diesen Projekten arbeiten.
|
|
- Rollen und Rechte: Admin-Benutzer können alle Daten verwalten, während normale
|
|
Benutzer nur auf ihre zugewiesenen Projekte zugreifen können.
|
|
|
|
---
|
|
|
|
## 4. Technische Umsetzung
|
|
|
|
### 4.1 Architektur
|
|
|
|
- Frontend: Webanwendung auf Basis von Mithril.js (HTML, CSS, JavaScript) für alle gängigen Browser.
|
|
- Backend: Python mit Flask als Web-Framework.
|
|
- Datenbank: SQLite (lokal oder serverbasiert).
|
|
|
|
### 4.2 Sicherheit
|
|
|
|
- Authentifizierung: Sichere Benutzeranmeldung mit verschlüsselten Passwörtern.
|
|
- Autorisierung: Projektbasierte Zugriffskontrolle.
|
|
- Datenvalidierung: Serverseitige Prüfung aller Eingaben.
|
|
|
|
### 4.3 Voraussetzungen
|
|
|
|
- Server: Lokale Installation oder Cloud-Hosting (z. B. auf einem VPS).
|
|
- Telefonie-Integration (optional): Falls später gewünscht, muss die Telefonanlage eine
|
|
JavaScript-API oder SDK bereitstellen.
|
|
- Import-Bibliotheken: Nutzung von Bibliotheken wie `pandas` (Python) für den Import von
|
|
Excel/CSV-Dateien.
|
|
|
|
---
|
|
|
|
## 5. Datenmodell
|
|
|
|
Die Anwendung basiert auf folgenden Kern-Tabellen:
|
|
|
|
| Tabelle | Beschreibung |
|
|
|---|---|
|
|
| Kunden | Verwaltung der Kunden (Firmen oder Privatpersonen) mit allen relevanten Daten. |
|
|
| Kontakte | Ansprechpartner der Kunden (Name, Position, Telefonnummer, E-Mail). Enthält einen Foreign-Key zur Kunden-ID, um die Zuordnung zu genau einem Kunden herzustellen. |
|
|
| Projekte | Projekte, die einem Kunden zugeordnet sind. |
|
|
| Benutzer | Benutzer der Anwendung mit Login-Daten und Rollen. |
|
|
| Benutzer_Projekt | Zuordnung von Benutzern zu Projekten (n:m-Beziehung). |
|
|
| Kontaktadressen | Kontakte, die im Rahmen eines Projekts angerufen werden (Firmen oder Privatpersonen). Enthält einen Foreign-Key zur Projekt-ID, um die Zuordnung zu genau einem Projekt herzustellen. |
|
|
| Gesprächsnotizen | Dokumentation von Anrufen (Datum, Uhrzeit, Anrufer, Kontaktadresse, Notiz, Tags). Enthält einen Foreign-Key zur Kontaktadressen-ID. |
|
|
| Tags | Benutzerdefinierte Tags zur Kategorisierung von Gesprächsnotizen. |
|
|
| Gesprächsnotizen_Tags | Verknüpfungstabelle für die n:m-Beziehung zwischen Gesprächsnotizen und Tags. |
|
|
|
|
---
|
|
|
|
## 6. Benutzererlebnis (UX)
|
|
|
|
### 6.1 Oberflächen-Design
|
|
|
|
- Intuitive Bedienung: Klare Struktur und einfache Navigation.
|
|
- Responsive Design: Optimiert für Desktop und Tablet.
|
|
|
|
### 6.2 Workflow-Beispiel
|
|
|
|
1. **Import von Kontaktadressen:**
|
|
- Benutzer lädt eine Excel- oder CSV-Datei hoch.
|
|
- System zeigt eine Vorschau der Daten mit Zuordnung der Spalten zu den Feldern der
|
|
Anwendung.
|
|
- Benutzer bestätigt den Import oder korrigiert Fehler.
|
|
- Kontaktadressen werden dem ausgewählten Projekt zugeordnet.
|
|
|
|
2. **Manueller Anruf (ausgehend):**
|
|
- Benutzer wählt eine Kontaktadresse aus der Liste aus.
|
|
- Benutzer erfasst manuell die Gesprächsnotiz (Datum, Uhrzeit, Notiz, Tags).
|
|
|
|
3. **Manueller Anruf (eingehend):**
|
|
- Benutzer erfasst den eingehenden Anruf manuell und ordnet ihn einer
|
|
Kontaktadresse zu.
|
|
- Benutzer kann direkt eine Gesprächsnotiz anlegen.
|
|
|
|
4. **Auswertungen:**
|
|
- Benutzer filtert Gesprächsnotizen nach Projekt, Tag oder Zeitrahmen.
|
|
- Export der Daten als CSV/Excel/PDF.
|
|
|
|
|
|
# Kundenanmerkungen
|
|
zu Punkt 2, Export soll auch flexibel möglich sein. Kunden und Projetbezogene Dublettenprüfung fehlt noch.
|
|
Ausserdem müssen wir die Möglichkeit haben, nach Kontakten zu suchen. Name, Ort, Tags usw. Momentan können wir das über die Startseite der alt-Anwendung filtern |