f37adae2cb
feat: deliver auditable Smart Pakke quote flow and free site geometry ( #31 )
...
CI - Test & Build / Lint & Type Check (push) Canceled after 0s
CI - Test & Build / Backend Unit Tests (push) Canceled after 0s
CI - Test & Build / Frontend Build (push) Canceled after 0s
CI - Test & Build / Security Scan (push) Canceled after 0s
CI - Test & Build / E2E Tests (Playwright) (push) Canceled after 0s
CI - Test & Build / CI Summary (push) Canceled after 0s
* feat: move login credentials to a DB-backed users table with an admin management page
Replaces the hardcoded AUTH_USERNAME/AUTH_PASSWORD login check with a new
auth_accounts table (bcrypt-hashed passwords, admin/user roles). Adds
admin-only /api/users CRUD routes and a "Brugere" admin page in the
frontend for managing logins without redeploying. Removes the unused,
unmounted duplicate login route in src/routes/auth.js.
* docs: add architecture codemaps with diagrams for the whole system
Adds codemaps/architecture.md, backend.md, frontend.md, and data.md —
Mermaid-diagrammed design documentation verified against the live
codebase and database rather than assumed from CLAUDE.md. Covers the
unified-server.js request flow (mounted routers + ~183 inline routes),
68 backend services grouped by domain, the frontend's state-driven
view-switch (no React Router in practice despite BrowserRouter being
present), and the full 122-table DB schema with the auth_accounts vs
unrelated users table naming trap flagged explicitly. Links added from
the root README.
Co-Authored-By: Claude Sonnet 5 <[email protected] >
* feat: ship canonical roof quote workflow
* fix: keep migration dry-run idempotent
* [verified] feat: complete Smart Pakker management
* [verified] fix: ignore blank task dependencies
* [verified] fix: align package duplication with schema
* [verified] fix: enforce Discord status limits
* [verified] fix: link Smart Pakke materials safely
* [verified] fix: harden material link review
* [verified] feat: improve material matching
* fix: scope pitch validation to roof packages
* fix: support canonical snapshots on production schema
* [verified] fix: hide internal package metadata from PDF
* [verified] feat: deliver sales-ready customer PDF
* [verified] feat: ship sales-ready PDF with AI overview
* [verified] fix: authenticate project list requests
* [verified] fix: refresh project-list authentication
* [verified] fix: open existing project details
* [verified] fix: keep roof components searchable in builder
* [verified] fix: expose all Smart Package categories
* [verified] fix: authenticate project creation
* [verified] feat: make Smart Pakker the universal project flow
* [verified] feat: preview Smart Package contents
* [verified] test: keep generic release isolated from downpipe work
* feat: add first-class Smart Pakke rentals
* [verified] feat: add gutter and downpipe smart packages
* [verified] fix: prepare six-house gutter quote flow
* [verified] fix: open generic quotes without roof geometry
* [verified] fix: review generic quotes with authenticated APIs
* [verified] fix: calculate generic Smart Package quotes
* [verified] fix: return generic calculation breakdown
* feat: checkpoint generic signed snapshot validation with red-green tests
* feat: complete fail-closed generic quote approval and customer PDF flow
* feat: use generic signed snapshot in final review
* feat: redesign generic quote final review
* fix: harden generic review summaries
* feat: add auditable six-house package basis
* [verified] feat: finish auditable Smart Pakke UI
* [verified] fix: bind auditable quantity and price bases
* [verified] fix: keep six-house basis across package versions
* [verified] fix: complete smart package discovery management
* [verified] fix: simplify composition and generic scope
* [verified] test: keep explicit roof contracts fail closed
* [verified] fix: harden generic quote snapshots
* fix: make generic quote delivery customer safe
* [verified] fix: secure package catalog reads
* [verified] fix: close workspace provenance blockers
* fix: harden customer document language boundary
* [verified] fix: secure smart package internal reads
* fix: version package child mutations atomically
* feat: add generic customer quote text flow
* [verified] fix: allow manual customer numbers
* [verified] fix: expose optional roof geometry
* [verified] fix: rebase hydrated packages after geometry edits
* [verified] feat: add free editable site area map
* [verified] fix: harden map recovery and geocoding gate
* fix: bind map quantities to authoritative geometry
* fix: release geocoder lock before dispatch
* fix: separate roof and site geometry provenance
* fix: revoke stale admin authorization
* fix: migrate task geometry basis
* fix: make backend CI dependency-complete
* ci: seed isolated e2e login account
* fix: allow clean database bootstrap
* fix: skip indexes for optional tables
* test: use canonical mansard geometry in e2e
* [verified] fix(auth): enforce live operator boundary
* fix: fail close Ordrestyring offer transport
* fix(frontend): authenticate customer project requests
* fix: align canonical roof type contract
* [verified] fix: reconcile legacy package labor safely
* [verified] fix: audit site geometry deletion
* docs: add PR 31 reviewer guide
* docs: synchronize Obsidian vault
* docs: sync integrated reviewer guide to Obsidian
* ci: seed isolated auth account explicitly
* fix: close offer bootstrap and service readiness gaps
* fix: authenticate protected package callers
* fix: provision initial admin and disable generic send
* [verified] fix: close final quote release blockers
* [verified] fix: seed gutter packages before deployment
---------
Co-authored-by: alexpolo1 <[email protected] >
Co-authored-by: Claude Sonnet 5 <[email protected] >
2026-09-26 22:39:18 +02:00
alexpolo1
6dc90a92aa
security: move remaining credentials to environment
2026-08-17 09:25:03 +02:00
alexpolo1
edb73df2d6
docs: archive legacy guides and add Obsidian vault
2026-08-17 09:12:03 +02:00
alexpolo1
c6ca27dd22
feat: persist support tickets for Codex worklist
2026-08-13 14:29:15 +02:00
alexpolo1
11ad6b7f0b
feat: enforce verified smart package catalog
2026-08-10 12:38:52 +02:00
alexpolo1
01ad8f4a49
feat: consolidate ordrestyring quote workflow
2026-07-05 08:10:59 +00:00
alexpolo1
12263aef2e
feat: Enhance material pricing integration by adding JOINs in API and updating SmartPackageForm to auto-add tasks from installation manuals
2025-11-07 12:01:07 +00:00
alexpolo1
537d55c106
feat: Consolidate tag categories into a single "Tag" category and update related scripts and documentation
2025-11-07 09:13:12 +00:00
alex
2769a66ee6
feat: Remove unused tag experience suggestions JSON and update database connection details in analyzer
2025-09-20 22:27:50 +02:00
alex
10473e8a32
feat: Add complete data import and incremental update scripts for Ordrestyring
...
- Implemented setup_ordrestyring_import.sh for initial database setup and data import from API.
- Created sync_ordrestyring_data.sh for incremental updates to the local database.
- Developed test_ordrestyring_import.js to validate API data import functionality.
- Added test_enhanced_quote_demo.js to demonstrate the enhanced quote system using hybrid data sources.
- Introduced test_ordrestyring_system.sh for comprehensive testing of the database system and API functionality.
- Enhanced logging and error handling across scripts for better traceability.
- Included analysis script creation for post-import data analysis.
2025-09-19 15:06:03 +02:00
alex
1615ec92c1
Add demo system and various analysis scripts
...
- Created demo_system.sh for interactive demo scenarios including TAG and B7 analysis, monthly economics, and complete system demo.
- Implemented legacy_tag_opgaver.sh to fetch and analyze real API data for TAG tasks, generating detailed CSV reports.
- Developed oekonomi_analyser.sh for economic analysis with options to fetch new data and specify the year for analysis.
- Introduced tag_analyser.sh for analyzing TAG tasks with options for fetching data and specifying task types.
2025-09-19 10:59:48 +02:00
alex
d44cfaabdc
Refactor code structure for improved readability and maintainability
2025-09-17 10:29:17 +02:00