71 lines
2.0 KiB
Markdown
71 lines
2.0 KiB
Markdown
# 01 - Overview
|
|
|
|
## Product
|
|
|
|
QuoteForge is a local-first tool for server configuration, quotation, and project tracking.
|
|
|
|
Core user flows:
|
|
- create and edit configurations locally;
|
|
- calculate prices from synced pricelists;
|
|
- group configurations into projects and variants;
|
|
- import vendor workspaces and map vendor PNs to internal LOTs;
|
|
- review revision history and roll back safely.
|
|
|
|
## Runtime model
|
|
|
|
QuoteForge is a single-user thick client.
|
|
|
|
Rules:
|
|
- runtime HTTP binds to loopback only;
|
|
- browser requests are treated as part of the same local user session;
|
|
- MariaDB is not a live dependency for normal CRUD;
|
|
- if non-loopback deployment is ever introduced, auth/RBAC must be added first.
|
|
|
|
## Product scope
|
|
|
|
In scope:
|
|
- configurator and quote calculation;
|
|
- projects, variants, and configuration ordering;
|
|
- local revision history;
|
|
- read-only pricelist browsing from SQLite cache;
|
|
- background sync with MariaDB;
|
|
- rotating local backups.
|
|
|
|
Out of scope and intentionally removed:
|
|
- admin pricing UI/API;
|
|
- alerts and notification workflows;
|
|
- stock import tooling;
|
|
- cron jobs and importer utilities.
|
|
|
|
## Tech stack
|
|
|
|
| Layer | Stack |
|
|
| --- | --- |
|
|
| Backend | Go, Gin, GORM |
|
|
| Frontend | HTML templates, htmx, Tailwind CSS |
|
|
| Local storage | SQLite |
|
|
| Sync transport | MariaDB |
|
|
| Export | CSV and XLSX generation |
|
|
|
|
## Repository map
|
|
|
|
```text
|
|
cmd/
|
|
qfs/ main HTTP runtime
|
|
migrate/ server migration tool
|
|
migrate_ops_projects/ OPS project migration helper
|
|
internal/
|
|
appstate/ backup and runtime state
|
|
config/ runtime config parsing
|
|
handlers/ HTTP handlers
|
|
localdb/ SQLite models and migrations
|
|
repository/ repositories
|
|
services/ business logic and sync
|
|
web/
|
|
templates/ HTML templates
|
|
static/ static assets
|
|
bible/ shared engineering rules
|
|
bible-local/ project-specific architecture
|
|
releases/ release artifacts and notes
|
|
```
|