# Gemini Code Assistant Context ## Wichtige Hinweise - **Projektdokumentation:** Die primäre und umfassendste Dokumentation für dieses Projekt befindet sich in der Datei `readme.md`. Bitte ziehen Sie diese Datei für ein detailliertes Verständnis der Architektur und der einzelnen Module zu Rate. - **Git-Repository:** Dieses Projekt wird über ein Git-Repository verwaltet. Alle Änderungen am Code werden versioniert. Beachten Sie den Abschnitt "Git Workflow & Conventions" für unsere Arbeitsregeln. ## Project Overview This project is a Python-based system for automated company data enrichment and lead generation. It uses a variety of data sources, including web scraping, Wikipedia, and the OpenAI API, to enrich company data from a CRM system. The project is designed to run in a Docker container and can be controlled via a Flask API. The system is modular and consists of the following key components: * **`brancheneinstufung_167.py`:** The core module for data enrichment, including web scraping, Wikipedia lookups, and AI-based analysis. * **`company_deduplicator.py`:** A module for intelligent duplicate checking, both for external lists and internal CRM data. * **`generate_marketing_text.py`:** An engine for creating personalized marketing texts. * **`app.py`:** A Flask application that provides an API to run the different modules. ## Git Workflow & Conventions - **Commit-Nachrichten:** Commits sollen einem klaren Format folgen: - Titel: Eine prägnante Zusammenfassung unter 100 Zeichen. - Beschreibung: Detaillierte Änderungen als Liste mit `- ` am Zeilenanfang (keine Bulletpoints). - **Datei-Umbenennungen:** Um die Git-Historie einer Datei zu erhalten, muss sie zwingend mit `git mv alter_name.py neuer_name.py` umbenannt werden. - **Commit & Push Prozess:** Änderungen werden zuerst lokal committet. Das Pushen auf den Remote-Server erfolgt erst nach expliziter Bestätigung durch Sie. - **Anzeige der Historie:** Web-Oberflächen wie Gitea zeigen die Historie einer umbenannten Datei möglicherweise nicht vollständig an. Die korrekte und vollständige Historie kann auf der Kommandozeile mit `git log --follow ` eingesehen werden. ## Building and Running The project is designed to be run in a Docker container. The `Dockerfile` contains the instructions to build the container. **To build the Docker container:** ```bash docker build -t company-enrichment . ``` **To run the Docker container:** ```bash docker run -p 8080:8080 company-enrichment ``` The application will be available at `http://localhost:8080`. ## Development Conventions * **Configuration:** The project uses a `config.py` file to manage configuration settings. * **Dependencies:** Python dependencies are listed in the `requirements.txt` file. * **Modularity:** The code is modular and well-structured, with helper functions and classes to handle specific tasks. * **API:** The Flask application in `app.py` provides an API to interact with the system. * **Logging:** The project uses the `logging` module to log information and errors. * **Error Handling:** The `readme.md` indicates a critical error related to the `openai` library. The next step is to downgrade the library to a compatible version.