3.8 KiB
AyaNova project overview
Background for anyone, human or AI, working on this code: what the products are, who runs them where, and the development setup.
Business
Ground Zero Tech-Works Inc. sells AyaNova, commercial service management software (https://ayanova.com), directly to customers online since 1998. One person, John, does all development, support and administration.
Revenue comes from three streams:
- Hosted subscriptions: AyaNova v8 run by Ground Zero on DigitalOcean droplets. Built with
SUBSCRIPTION_BUILD=true - Self-hosted v8 licences with yearly support and update subscriptions. Customers install it on their own Windows or Linux machines
- v7 legacy support: maintenance only
Practical consequence for code changes: a change can reach customer-run servers that Ground Zero cannot see or update, and deployed clients cannot be pushed an update. API routes, licence handling and database behaviour have to stay compatible.
Products
| Product | Stack | Status |
|---|---|---|
| AyaNova v8 | ASP.NET Core 8, C#, PostgreSQL; Vue 2 front end | Active. Customers are slowly moving to it from v7 |
| AyaNova v7 | Windows desktop app, C#, 20+ years old, Firebird database | Sunset: maintenance only. Depends on discontinued commercial components. Builds in an isolated Windows 7 VirtualBox VM. Customers were told in 2022 it may become unsupportable |
| Sockeye | Same stack as v8, a near-copy of its code | Internal: licensing, customer database, cases (history back to FogBugz). Ported to .NET 10 in October 2026 |
| AyaNova QBI | .NET Framework 4.8, Windows Forms | QuickBooks Desktop integration for v8. Separate release cycle, rarely changes |
v8 deployment targets
build-release.bat produces five packages; QBI is built separately.
| Target | Package | Runtime |
|---|---|---|
| Hosted subscription, Linux | ayanova-subscription-linux-x64-server.zip |
Framework-dependent |
| Self-hosted Linux server | ayanova-linux-x64-server.zip |
Framework-dependent |
| Self-hosted Linux desktop (single user) | ayanova-linux-x64-desktop.zip |
Framework-dependent |
| Windows standalone (single user) | ayanova-windows-x64-single-setup.exe |
Self-contained, embedded PostgreSQL, launcher |
| Windows LAN server | ayanova-windows-x64-lan-setup.exe |
Framework-dependent; customer installs the ASP.NET Core Hosting Bundle and PostgreSQL |
| QuickBooks integration | ayanova-qbi-setup.exe |
.NET Framework 4.8 |
Hosted customers run on DigitalOcean Ubuntu droplets. They are updated by hand weekly: Ground Zero's own test droplet first, then customers through the day by time zone.
Development environment
- Workstation: Beelink SER9 Pro+, 32 GB, Windows 11 Pro. Backup: ThinkPad X13 Gen 3
- Editors: VS Code for everything except QBI, which needs Visual Studio for the Windows Forms designer
- Build VM: a complete Windows 11 build environment in VirtualBox, exported and backed up to several drives (
devdocs/build/DEV-VM-SETUP.md) - Source control: Git on a self-hosted Gitea on DigitalOcean. Moved from SVN in early 2026
- Location: off-grid, Starlink internet, solar power. The workstation is not left running overnight in winter, so do not plan work that depends on overnight runs on it
Pinned tool versions
| Tool | Version | Why |
|---|---|---|
| Node.js | 12.22.9 | Newer versions break fibers |
| Python | 3.11 | MkDocs for the customer manual |
| .NET SDK | 8.0.x, plus 10.x for the port | Server, launcher |
| .NET Framework | 4.8 | QBI only |
| Inno Setup | 6.x | Windows installers |
| 7-Zip | current | Linux zips |
Working style
- Reliability over speed; patient with build times
- Keep all historical data: cases, emails, old releases
- Careful about backups and disaster recovery
- Changes are reviewed before they are committed; nothing is accepted blindly