FoxyInvoice Dev Blog: How One Codebase Powers Two Products With Boring Architecture
Developer behind FoxyInvoice has published Chapter 3 of an open build series, detailing the system architecture powering two distinct invoice products from a single codebase. The stack uses Angular 22 for the frontend, .NET 10 for a stateless API, and a background worker for slow or retry-prone tasks, all routed through a Caddy edge server. Each deployment runs its own Postgres database and is shipped via GitHub Actions using separate Docker Compose configurations with different branding. A custom Money struct enforces currency safety at the type level, preventing silent currency mismatches across all financial calculations. The author deliberately chose straightforward, proven technologies over cutting-edge alternatives, prioritizing maintainability and testability for a solo-built production system.
This is an AI-generated summary. ShortSingh links to the original source for the complete article.
Discussion (0)
Log in to join the discussion and vote.
Log in