Files
Brancheneinstufung2/create_dashboard.py
Floke c6a37a3c17 feat(company-explorer): Initial Web UI & Backend with Enrichment Flow
This commit introduces the foundational elements for the new "Company Explorer" web application, marking a significant step away from the legacy Google Sheets / CLI system.

Key changes include:
- Project Structure: A new  directory with separate  (FastAPI) and  (React/Vite) components.
- Data Persistence: Migration from Google Sheets to a local SQLite database () using SQLAlchemy.
- Core Utilities: Extraction and cleanup of essential helper functions (LLM wrappers, text utilities) into .
- Backend Services: , ,  for AI-powered analysis, and  logic.
- Frontend UI: Basic React application with company table, import wizard, and dynamic inspector sidebar.
- Docker Integration: Updated  and  for multi-stage builds and sideloading.
- Deployment & Access: Integrated into central Nginx proxy and dashboard, accessible via .

Lessons Learned & Fixed during development:
- Frontend Asset Loading: Addressed issues with Vite's  path and FastAPI's .
- TypeScript Configuration: Added  and .
- Database Schema Evolution: Solved  errors by forcing a new database file and correcting  override.
- Logging: Implemented robust file-based logging ().

This new foundation provides a powerful and maintainable platform for future B2B robotics lead generation.
2026-01-07 17:55:08 +00:00

39 lines
1.6 KiB
Python

import time
from notion_client import Client
def final_push():
# --- KONFIGURATION DIREKT IN DER FUNKTION ---
token = "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"
database_id = "acf0e7e1-fff2-425b-81a1-00fbc76085b8"
notion = Client(auth=token)
print(f"🚀 Starte Injektion in DB: {database_id}")
sectors = [
{"name": "Hotellerie", "desc": "Relevant für Empfang, Reinigung Zimmer, Parkplatz & Spa. Fokus auf Wellness vs. Business."},
{"name": "Pflege & Kliniken", "desc": "Hohe Hygienestandards, Desinfektion, Transport von Mahlzeiten/Wäsche."},
{"name": "Lager & Produktion", "desc": "Großflächenreinigung, Objektschutz (Security), Intralogistik-Transport."},
{"name": "Einzelhandel", "desc": "Frequenzorientierte Reinigung, interaktive Verkaufsförderung (Ads), Nachtreinigung."}
]
for s in sectors:
try:
notion.pages.create(
parent={"database_id": database_id},
properties={
"Name": {"title": [{"text": {"content": s["name"]}}]},
"Beschreibung": {"rich_text": [{"text": {"content": s["desc"]}}]},
"Art": {"select": {"name": "Sector"}}
}
)
print(f"{s['name']} wurde erfolgreich angelegt.")
time.sleep(0.5)
except Exception as e:
print(f" ❌ Fehler bei {s['name']}: {e}")
print("\n🏁 FERTIG. Schau jetzt in dein Notion Dashboard!")
if __name__ == "__main__":
final_push()