Files
raven/devdocs/modernization/PROJECT-OVERVIEW.md

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