# 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