# Tilbudgivern Dokumentation Velkommen til Tilbudgivern dokumentationen. Her finder du detaljerede guides til alle aspekter af systemet. ## Oversigt Tilbudgivern er en AI-drevet tilbudsberegner for tømrerfaget med: - 40+ backend services - 57+ frontend komponenter - 15 Smart Pakker til tagarbejde - 7 understøttede tagtyper - Ordrestyring GraphQL integration ## Dokumentationsstruktur ### API Dokumentation (`/api/`) | Dokument | Beskrivelse | |----------|-------------| | [ORDRESTYRING_API_INVENTORY](api/ORDRESTYRING_API_INVENTORY.md) | Komplet Ordrestyring API reference | | [ORDRESTYRING_API_STATUS_OVERSIGT](api/ORDRESTYRING_API_STATUS_OVERSIGT.md) | Status på API integrationer | | [CUSTOMER_SEARCH_INTEGRATION](api/CUSTOMER_SEARCH_INTEGRATION.md) | Kundesøgning integration | | [CASE_ANALYTICS_SYSTEM_DOCUMENTATION](api/CASE_ANALYTICS_SYSTEM_DOCUMENTATION.md) | Sags-analytics system | | [BYGMA_AUTOMATION_README](api/BYGMA_AUTOMATION_README.md) | Bygma automatisering | ### Feature Dokumentation (`/features/`) | Dokument | Beskrivelse | |----------|-------------| | [SMART_PACKAGES_COMPLETE_CATALOG](features/SMART_PACKAGES_COMPLETE_CATALOG.md) | Komplet Smart Pakke katalog | | [TOMRER_SMART_PACKAGES_GUIDE](features/TOMRER_SMART_PACKAGES_GUIDE.md) | Tømrer smart pakke guide | | [BYGMA_IMPORT_FEATURE](features/BYGMA_IMPORT_FEATURE.md) | Bygma import funktionalitet | | [ORDRESTYRING_GRAPHQL_INTEGRATION](features/ORDRESTYRING_GRAPHQL_INTEGRATION.md) | GraphQL integration | | [INTELLIGENT_TASKS_FEATURE](features/INTELLIGENT_TASKS_FEATURE.md) | Intelligente opgaver | | [MARKUP_SLIDER_SYSTEM](features/MARKUP_SLIDER_SYSTEM.md) | Avance slider system | | [FEATURE_ROADMAP](features/FEATURE_ROADMAP.md) | Feature roadmap | ### Deployment (`/deployment/`) | Dokument | Beskrivelse | |----------|-------------| | [DEPLOYMENT](deployment/DEPLOYMENT.md) | Deployment guide | | [PM2_GUIDE](deployment/PM2_GUIDE.md) | PM2 process manager | | [DEPLOYMENT-PIPELINE](deployment/DEPLOYMENT-PIPELINE.md) | CI/CD pipeline | | [DNS_MIGRATION_GUIDE](deployment/DNS_MIGRATION_GUIDE.md) | DNS migration | ### Guides (`/guides/`) | Dokument | Beskrivelse | |----------|-------------| | [KOMPLET_ORDRESTYRING_SYSTEM_OVERSIGT](guides/KOMPLET_ORDRESTYRING_SYSTEM_OVERSIGT.md) | Komplet Ordrestyring oversigt | | [KOMPLET_TILBUDSBEREGNING_LØSNING](guides/KOMPLET_TILBUDSBEREGNING_LØSNING.md) | Tilbudsberegning løsning | | [AI_TILBUDS_PROMPT_GUIDE](guides/AI_TILBUDS_PROMPT_GUIDE.md) | AI prompt guide | | [TAG_OPGAVE_DATABASE](guides/TAG_OPGAVE_DATABASE.md) | Tag opgave database | | [TOMMER_QUICK_REFERENCE](guides/TOMMER_QUICK_REFERENCE.md) | Tømrer quick reference | ### System Dokumentation (root) | Dokument | Beskrivelse | |----------|-------------| | [LOGGING_SYSTEM](LOGGING_SYSTEM.md) | Struktureret logging system | | [PORT_MANAGEMENT](PORT_MANAGEMENT.md) | Port håndtering | | [DATABASE_BACKUP_SETUP](DATABASE_BACKUP_SETUP.md) | Database backup | | [ROOF_TYPES_IMPLEMENTATION](ROOF_TYPES_IMPLEMENTATION.md) | 7 tagtype implementationer | | [OPENAI_COSTS_API](OPENAI_COSTS_API.md) | OpenAI omkostnings-API | ### Test Dokumentation | Dokument | Beskrivelse | |----------|-------------| | [UI_TESTING_SETUP](UI_TESTING_SETUP.md) | UI test opsætning | | [SVG_TESTING_GUIDE](SVG_TESTING_GUIDE.md) | SVG test guide | ## Quick Links ### Primære Systemer - **Unified Server**: `backend/unified-server.js` (port 4032) - **Smart Pakker**: 15 forudkonfigurerede tømrerpakker - **Ordrestyring**: GraphQL integration til ordre/kundestyring - **OpenAI**: GPT-4 tilbudsgenerering ($9/måned budget) ### Teknologi Stack | Komponent | Teknologi | |-----------|-----------| | Frontend | React 18, Material-UI 5 | | Backend | Node.js/Express | | Database | MariaDB/MySQL | | Real-time | Socket.IO | | PDF | Puppeteer | | Test | Playwright, Jest, Selenium | ### Vigtige Kommandoer ```bash # Development npm run dev # Production pm2 restart tilbudgivern-unified pm2 logs tilbudgivern-unified # Test npm run test:pw # Playwright E2E npm run test:pw:local # Lokal test cd backend && npm test # Unit tests ``` ## Arkitektur Oversigt ``` ┌─────────────────────────────────────────────────────────┐ │ Frontend (React 18) │ │ Material-UI + Socket.IO Client │ └─────────────────────────┬───────────────────────────────┘ │ ▼ ┌─────────────────────────────────────────────────────────┐ │ Unified Server (Port 4032) │ │ backend/unified-server.js │ ├─────────────────────────────────────────────────────────┤ │ Routes │ Services (40+) │ Middleware │ │ ──────── │ ─────────────── │ ────────── │ │ /api/* │ openaiService │ auth │ │ │ smartPackage... │ correlationId │ │ │ ordrestyring... │ errorHandler │ │ │ pdfGeneration │ requestLogger │ └─────────────────────────┬───────────────────────────────┘ │ ┌───────────────┼───────────────┐ ▼ ▼ ▼ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ MariaDB │ │ OpenAI │ │ Ordrestyring│ │ Database │ │ GPT-4 API │ │ GraphQL API │ └─────────────┘ └─────────────┘ └─────────────┘ ``` ## Database Tabeller | Kategori | Tabeller | |----------|----------| | Tilbud | `project_quotes`, `quotes`, `quote_feedback` | | Projekter | `customer_projects`, `projects` | | Materialer | `materials`, `material_prices`, `project_materials` | | Arbejde | `labor_tasks`, `labor_prices`, `project_labor` | | Pakker | `material_packages`, `smart_package_tasks`, `smart_package_materials` | | Geometri | `roof_geometry` | | System | `system_logs`, `request_logs`, `system_settings` | ## Kontakt Ved spørgsmål, opret et issue i GitHub repository.