# 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
```
