f70cc680f786f569654ca7a92da904795c9b7481
1. JS-конфигуратор: при загрузке сохранённой конфигурации item.category всегда undefined (в config.items хранится только lot_name/quantity/unit_price). Добавлено обогащение cart из allComponents после загрузки, все сравнения категорий переведены на ciStr() вместо .toUpperCase(), исправлены все 4 точки построения ASSIGNED_CATEGORIES — устраняет TypeError и таб «Other» показывал компоненты с известными категориями. 2. RepairPendingChanges: repair-функции теперь возвращают (bool, error); attempts/last_error сбрасываются только при modified=true — устраняет бесконечный retry когда ошибка на стороне сервера, а не локальных данных. 3. UpsertByUUID: сброс project.ID=0 перед INSERT … ON DUPLICATE KEY UPDATE, чтобы конфликт шёл по уникальному uuid, а не по PK чужой строки — устраняет «record not found» при разрешении изменений проекта. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
QuoteForge
Local-first desktop web app for server configuration, quotation, and project work.
Runtime model:
- user work is stored in local SQLite;
- MariaDB is used only for setup checks and background sync;
- HTTP server binds to loopback only.
What the app does
- configuration editor with price refresh from synced pricelists;
- projects with variants and ordered configurations;
- vendor BOM import and PN -> LOT resolution;
- revision history with rollback;
- rotating local backups.
Run
go run ./cmd/qfs
Useful commands:
go run ./cmd/qfs -migrate
go test ./...
go vet ./...
make build-release
On first run the app creates a minimal config.yaml, starts on http://127.0.0.1:8080, and opens /setup if DB credentials were not saved yet.
Documentation
- Shared engineering rules: bible/README.md
- Project architecture: bible-local/README.md
- Release notes:
releases/<version>/RELEASE_NOTES.md
bible-local/ is the source of truth for QuoteForge-specific architecture. If code changes behavior, update the matching file there in the same commit.
Repository map
cmd/ entry points and migration tools
internal/ application code
web/ templates and static assets
bible/ shared engineering rules
bible-local/ project architecture and contracts
releases/ packaged release artifacts and release notes
config.example.yaml runtime config reference
Description
Releases
36
QuoteForge v2.24
Latest
Languages
Go
65.2%
HTML
34.1%
Shell
0.4%
Makefile
0.3%