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.
This commit is contained in:
2026-01-07 17:55:08 +00:00
parent bc1cff825a
commit 95634d7bb6
51 changed files with 3475 additions and 2 deletions

View File

@@ -16,6 +16,7 @@ services:
- dashboard
- b2b-app
- market-frontend
- company-explorer # NEW
# --- DASHBOARD (Landing Page) ---
dashboard:
@@ -25,6 +26,25 @@ services:
container_name: gemini-dashboard
restart: unless-stopped
# --- COMPANY EXPLORER (Robotics Edition) ---
company-explorer:
build:
context: ./company-explorer
dockerfile: Dockerfile
container_name: company-explorer
restart: unless-stopped
volumes:
# Sideloading: Source Code (Hot Reload)
- ./company-explorer:/app
# Keys
- ./gemini_api_key.txt:/app/gemini_api_key.txt
- ./serpapikey.txt:/app/serpapikey.txt
# Logs (Debug)
- ./Log_from_docker:/app/logs_debug
environment:
- PYTHONUNBUFFERED=1
# Port 8000 is internal only
# --- B2B MARKETING ASSISTANT ---
b2b-app:
build:
@@ -124,11 +144,13 @@ services:
dns-monitor:
image: alpine
container_name: dns-monitor
dns:
- 8.8.8.8
- 1.1.1.1
environment:
- SUBDOMAINS=floke,floke-ai,floke-gitea,floke-ha,floke-n8n
- TZ=Europe/Berlin
volumes:
- ./dns-monitor:/app
command: /app/monitor.sh
restart: unless-stopped
restart: unless-stopped