54 lines
1.5 KiB
Markdown
54 lines
1.5 KiB
Markdown
# 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
|
|
|
|
```bash
|
|
go run ./cmd/qfs
|
|
```
|
|
|
|
Useful commands:
|
|
|
|
```bash
|
|
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](bible/README.md)
|
|
- Project architecture: [bible-local/README.md](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
|
|
|
|
```text
|
|
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
|
|
```
|