πŸ”₯ WPGuru Frontend (Heatly)

WΓ€rmepumpen-Lead-Generierung Web-App

Letzter Scan: 29.04.2026 React AWS Cloud

πŸ“‹ Quick Facts

  • Projektname: wpguru-frontend-main
  • Plattform: React Single Page Application
  • Hosting: AWS Amplify
  • PrimΓ€rziel: Lead-Generierung fΓΌr WΓ€rmepumpen-Installateure
  • Standort: D:\arbeit\git\wpguru-frontend-main (192.168.178.71)

πŸ› οΈ Technologie-Stack

Frontend Framework

React v17.0.2 - UI Framework
React Router v5.2.0 - Client-side Routing
React Scripts v5.0.1 - Build Tooling

UI Komponenten & Styling

Material-UI (MUI) v4.12.3 + v5.2.2 - Komponenten-Bibliothek
@emotion CSS-in-JS Styling
Styled Components v5.3.0 - Komponenten-Styling
MUI Markdown v0.5.3 - Markdown Rendering

AWS & Cloud Services

AWS Amplify v4.2.3 - Backend-as-a-Service
@aws-amplify/ui-react v1.2.26 - Auth UI Components
AWS SDK v2.1032.0 - AWS Services
Amazon Location amazon-location-helpers - Karten-Service

Karten & Geodaten

MapLibre GL v1.15.2 - Open Source Kartendarstellung
maplibre-gl-js-amplify v4.0.0 - Amplify Karten-Integration
react-map-gl v5.3.16 - React Karten-Komponenten
@math.gl/web-mercator Koordinaten-Transformationen

Build & Entwicklung

CRACO @craco/craco v7.1.0 - Webpack Konfiguration
DevContainer Docker-basierte Entwicklungsumgebung
Storybook Komponenten-Dokumentation

Analytics & Tracking

React GA4 v1.0.6 - Google Analytics 4
React GTM Module v2.0.11 - Google Tag Manager
React Hotjar v4.0.0 - Heatmaps & Feedback
React Cookiebot v1.0.10 - Cookie Consent

Charts & Visualisierung

React Google Charts v3.0.15 - Datenvisualisierung

πŸ“ Projektstruktur

wpguru-frontend-main/
β”œβ”€β”€ .devcontainer/          # Docker Dev Environment
β”‚   β”œβ”€β”€ devcontainer.json
β”‚   β”œβ”€β”€ Dockerfile
β”‚   └── init.sh
β”œβ”€β”€ .storybook/            # Storybook Konfiguration
β”œβ”€β”€ .vscode/               # VSCode Settings
β”œβ”€β”€ amplify/               # AWS Amplify Backend
β”‚   β”œβ”€β”€ backend/
β”‚   β”‚   β”œβ”€β”€ api/wpgurufrontend/     # GraphQL API
β”‚   β”‚   β”œβ”€β”€ auth/wpgurufrontend/    # Cognito Auth
β”‚   β”‚   β”œβ”€β”€ function/               # Lambda Functions
β”‚   β”‚   β”‚   β”œβ”€β”€ buyLead/
β”‚   β”‚   β”‚   β”œβ”€β”€ enrichResults/
β”‚   β”‚   β”‚   β”œβ”€β”€ exploreOpenLeads/
β”‚   β”‚   β”‚   β”œβ”€β”€ leadChangeEmailSend/
β”‚   β”‚   β”‚   β”œβ”€β”€ locationService/
β”‚   β”‚   β”‚   β”œβ”€β”€ newRequestEmailSend/
β”‚   β”‚   β”‚   β”œβ”€β”€ sendEmailToNewCustomer/
β”‚   β”‚   β”‚   └── wpgurufrontendPreTokenGeneration/
β”‚   β”‚   └── geo/wpguruDisplayMap/   # Location Service
β”‚   └── team-provider-info.json
β”œβ”€β”€ public/                # Statische Assets
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ components/        # React Komponenten
β”‚   β”‚   β”œβ”€β”€ ConfiguratorForm/
β”‚   β”‚   β”œβ”€β”€ CostCalculator/
β”‚   β”‚   β”œβ”€β”€ RequestInfo/
β”‚   β”‚   β”œβ”€β”€ AddressForm.js
β”‚   β”‚   β”œβ”€β”€ AmplifyAuth.js
β”‚   β”‚   β”œβ”€β”€ Analytics.js
β”‚   β”‚   β”œβ”€β”€ BuyButton.js
β”‚   β”‚   β”œβ”€β”€ ContactForm.js
β”‚   β”‚   β”œβ”€β”€ Footer.js
β”‚   β”‚   β”œβ”€β”€ HeroSection.js
β”‚   β”‚   β”œβ”€β”€ LeadCard.js
β”‚   β”‚   β”œβ”€β”€ LeadMap.js
β”‚   β”‚   β”œβ”€β”€ Navbar.js
β”‚   β”‚   └── Section.js
β”‚   β”œβ”€β”€ graphql/           # GraphQL Queries/Mutations
β”‚   β”œβ”€β”€ media/             # Bilder & Assets
β”‚   β”œβ”€β”€ models/            # Amplify Modelle
β”‚   β”œβ”€β”€ pages/             # Page Komponenten
β”‚   β”‚   β”œβ”€β”€ admin.js
β”‚   β”‚   β”œβ”€β”€ costcalculator.js
β”‚   β”‚   β”œβ”€β”€ details.js
β”‚   β”‚   β”œβ”€β”€ forms.js
β”‚   β”‚   β”œβ”€β”€ result.js
β”‚   β”‚   └── partner/
β”‚   β”‚       β”œβ”€β”€ dashboard.js
β”‚   β”‚       └── explore.js
β”‚   β”œβ”€β”€ stories/           # Storybook Stories
β”‚   β”œβ”€β”€ ui-components/     # Generierte UI Komponenten
β”‚   β”œβ”€β”€ util/              # Utility Funktionen
β”‚   β”œβ”€β”€ _app.js            # Haupt App Komponente
β”‚   └── index.js           # Entry Point
β”œβ”€β”€ craco.config.js        # Webpack Override
β”œβ”€β”€ package.json
└── customHttp.yml         # CloudFront Config

✨ Hauptfunktionen

πŸ” Authentifizierung

AWS Cognito-basierte Benutzeranmeldung mit Amplify Auth. UnterstΓΌtzt Partner-Login fΓΌr Installateure.

πŸ—ΊοΈ Interaktive Karten

MapLibre GL-basierte Kartendarstellung fΓΌr Lead-Visualisierung mit Geo-Suche.

πŸ“Š Cost Calculator

Dynamischer Kostenrechner fΓΌr WΓ€rmepumpen mit individuellen Parametern.

πŸ“ Lead Management

Formular-basierte Lead-Erfassung mit Validierung und E-Mail-Workflows.

πŸ” Partner Dashboard

Installateur-Portal zur Verwaltung und Annahme von Leads.

πŸ“± Responsive Design

Mobile-first Ansatz mit Material-UI Komponenten.

βš™οΈ NPM Scripts

# Entwicklungsserver starten
npm start           # craco start

# Produktionsbuild
npm run build       # craco build

# Tests ausfΓΌhren
npm test            # craco react-scripts test

# Eject (nicht empfohlen)
npm run eject       # craco react-scripts eject

⚠️ Wichtige Konfigurationen

Webpack Alias (craco.config.js)

Mapbox wird durch MapLibre ersetzt (Lizenz-Optimierung):

module.exports = {
  webpack: {
    alias: {
      "mapbox-gl": "maplibre-gl"
    }
  }
}

AWS Amplify Backend

Lambda Functions

Function Zweck
buyLead Lead-Kauf Prozessierung
enrichResults Daten-Anreicherung
exploreOpenLeads VerfΓΌgbare Leads anzeigen
leadChangeEmailSend Status-Γ„nderungs-Benachrichtigungen
locationService Geocoding & Standort
newRequestEmailSend Neue Anfrage Benachrichtigung
sendEmailToNewCustomer Kunden-E-Mail Versand
PreTokenGeneration JWT Token Anpassung

πŸ“¦ HauptabhΓ€ngigkeiten

Core Dependencies

Material Design

Karten

Analytics

πŸš€ Deployment

Das Projekt ist fΓΌr AWS Amplify Hosting konfiguriert: