Refresh the README for 1.0.2: setup wizard, install steps, Windows status
Windows build / build (push) Canceled after 0s
Windows build / build (push) Canceled after 0s
This commit is contained in:
@@ -8,8 +8,15 @@ connection. The only optional network feature is the ERPNext push, which you con
|
||||
|
||||
Targets: Void Linux (xbps, WebKitGTK 2.50 or newer) and Windows 10/11 (NSIS installer, WebView2).
|
||||
|
||||
Current release: **1.0.2**. Installers and the Void package are attached to the release on the project's Gitea
|
||||
page (see "Installing").
|
||||
|
||||
## Features
|
||||
|
||||
- **First-run setup.** A four-step wizard (business, branding, bank, numbering) starts blank: no vendor, bank or tax
|
||||
details are pre-filled, and a business name and state are required. **Settings, Data, Run setup again** reopens it
|
||||
with your current details; invoices, clients and backups are kept, and numbering carries on unless you change the
|
||||
series prefix or digits.
|
||||
- **Invoices.** Automatic numbering in a persistent series (for example `INV/2026-001`) with a one-click new series,
|
||||
drafts, issue and cancel. An issued invoice is immutable: it stores a snapshot of the vendor, client, GST figures
|
||||
and layout. Line items are a fixed amount or rate x quantity (per second, minute, hour, session or unit), with
|
||||
@@ -67,13 +74,27 @@ npm run app:dev # tauri dev, served from localhost:1420 (does not exercis
|
||||
| `npm test` | `vitest run`, about 7 minutes; run on a quiet machine because load starves the sweep tests |
|
||||
| `npm run fonts:verify` | Checks the bundled fonts against `public/fonts/manifest.json` (`fonts:manifest` regenerates it) |
|
||||
| `npm run logo:measure` | Regenerates `src/pdf/templates/slots.generated.ts` from the reference PDFs; must be idempotent |
|
||||
| `npm run thumbnails` | Regenerates `public/templates/*.png` |
|
||||
| `npm run thumbnails` | Regenerates `public/templates/*.png` from the synthetic sample invoice (neutral vendor and bank, generated wordmark) |
|
||||
| `node scripts/logo/make-sample-logo.mjs` | Regenerates the synthetic sample logo in `src/pdf/testing/fixtures/` |
|
||||
| `npm run templates:compare` | reference vs Voiced side-by-side PNGs under `/tmp` |
|
||||
| `cargo test --manifest-path src-tauri/Cargo.toml` | Rust unit tests |
|
||||
| `npm run app:build` | Production build for the current platform (custom-protocol) |
|
||||
|
||||
The release procedure, including the manual first-run checklist, is in `docs/RELEASE.md`.
|
||||
|
||||
## Installing
|
||||
|
||||
Download the files for your platform from the release page of the project on `git.bongbetic.com` (Releases, then
|
||||
`v1.0.2`).
|
||||
|
||||
- **Windows 10/11:** run `Voiced_1.0.2_x64-setup.exe`. It is a per-user install and is not code-signed, so Windows
|
||||
SmartScreen may warn: choose "More info", then "Run anyway".
|
||||
- **Void Linux:** install `voiced-1.0.2_1.x86_64.xbps` from a local repository (see "Installing on Void Linux").
|
||||
|
||||
On first launch the setup wizard asks for your business details, logo, bank account and invoice numbering. Nothing is
|
||||
pre-filled. Uninstalling does not delete your data (see "Where data lives"); to start from scratch use
|
||||
Settings, Data, Run setup again, or remove the data directory after taking a backup.
|
||||
|
||||
## Where data lives
|
||||
|
||||
The Tauri identifier is `com.bongbetic.voiced`. Voiced uses two directories, which differ only on Windows:
|
||||
@@ -184,7 +205,8 @@ Hosts without an `nsis` package (for example Void Linux):
|
||||
# from https://github.com/tauri-apps/nsis-tauri-utils/releases
|
||||
```
|
||||
|
||||
The installer has not been run on a real Windows machine.
|
||||
The installer has been installed and run once in a Windows 11 virtual machine; it has not been tried on physical
|
||||
hardware.
|
||||
|
||||
## Installing on Void Linux
|
||||
|
||||
@@ -241,6 +263,7 @@ src/ React + Carbon frontend
|
||||
fonts/ Font registration, roles, glyph priming
|
||||
render/ renderCore, Web Worker, latest-wins client
|
||||
flatten.ts assemble.ts Rasterise at 300 DPI and rebuild an image-only PDF
|
||||
testing/ Goldens (layout fingerprints), self-test fixtures, synthetic sample logo
|
||||
src-tauri/src/ Rust backend
|
||||
db.rs Schema as numbered migrations (copies the DB aside before migrating)
|
||||
gst.rs Integer-paise money and GST maths
|
||||
@@ -250,7 +273,7 @@ src-tauri/src/ Rust backend
|
||||
integrations/erpnext/ ERPNext client, mapping, discovery, push
|
||||
selftest.rs Unattended real-webview self-test
|
||||
public/fonts/ Bundled TTF families, OFL texts, manifest.json (plus legacy IBM Plex web fonts)
|
||||
public/templates/ Template thumbnails
|
||||
public/templates/ Template thumbnails (rendered from synthetic sample data)
|
||||
docs/ Template specs, voiced.invoice.v1, release checklist
|
||||
scripts/ Font, logo, template, thumbnail and ERPNext end-to-end tooling
|
||||
packaging/void/ xbps-src template, build-xbps.sh, desktop entry, INSTALL and REMOVE scripts
|
||||
@@ -272,9 +295,10 @@ Settings, Diagnostics.
|
||||
|
||||
## Known limitations
|
||||
|
||||
- Windows and WebView2 have never been run on a real machine; the NSIS installer is cross-compiled only.
|
||||
- Windows and WebView2 have only been exercised in a Windows 11 virtual machine, not on physical hardware; the NSIS
|
||||
installer is cross-compiled and unsigned.
|
||||
- The 13 reference-based templates are re-creations of reference designs. the reference design's content licence may restrict this, so
|
||||
ship them only in this vendor's build until it is confirmed.
|
||||
distribute them only to the intended customer until it is confirmed.
|
||||
- The SAC code for the vendor's services and the signature rule still need confirmation from a chartered accountant.
|
||||
- Now, Gotham and Open Sauce One are replaced by free look-alikes unless you import licensed files.
|
||||
- ERPNext: only v15 is verified; HTTP is allowed only for local hosts; see "Not covered" above.
|
||||
|
||||
Reference in New Issue
Block a user