- Update tech stack from PostgreSQL to MariaDB/MySQL - Update port from 3000/3001 to unified server port 4032 - Add Smart Packages system (15 carpenter packages) - Add 7 roof types documentation - Add Ordrestyring GraphQL integration info - Update project structure to reflect current state - Add comprehensive API endpoints documentation - Update docs/README.md with documentation index and architecture diagram
145 lines
6.8 KiB
Markdown
145 lines
6.8 KiB
Markdown
# 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.
|