SShortSingh.
Back to feed

Dev builds zero-signup demo system that auto-provisions and deletes throwaway tenants

0
·1 views

A developer behind NeNe Invoice, an open-source self-hosted invoicing app for Japanese small businesses, built a demo system that requires no account creation. Clicking a demo URL instantly provisions a unique disposable tenant pre-loaded with realistic industry-specific data, then automatically deletes it three hours later via a cron job. The system leverages the app's existing multi-tenancy architecture, requiring roughly 900 lines of new code with no changes to the core authentication logic. Demo tenants are prefixed with 'demo-' to namespace them and safely identify them for cleanup, ensuring real organizations are never affected. Seeded data uses dates relative to the current day so the demo always appears current, and the feature is hidden behind a server-side flag that returns a 404 on non-demo instances.

Read the full story at DEV Community

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

Related stories

0
ProgrammingDEV Community ·

Ownership in software development means solving problems end-to-end, not just shipping code

A senior developer argues that true ownership in tech goes far beyond writing code and opening a pull request. The article outlines a seven-step framework — from understanding the real problem and designing solutions before coding, to verifying in production, communicating, and following up. The author reflects on years of closing tasks without actually resolving underlying issues, realizing that only 30% of the work is code. A key distinction is drawn between a problem (e.g., an 8-second search query) and a solution (e.g., migrating databases), urging developers to explore all options before building. Mastering this end-to-end responsibility is described as the real path to becoming a senior developer, rather than simply accumulating years of experience.

0
ProgrammingDEV Community ·

How ICD-10 Codes Are Converted Into Medicare Advantage RAF Scores

In Medicare Advantage risk adjustment, ICD-10-CM diagnosis codes do not carry individual risk scores — they must first be mapped to Hierarchical Condition Categories (HCCs) before a Risk Adjustment Factor (RAF) score can be calculated. The process involves applying a hierarchy rule that retains only the most severe HCC within a disease family, preventing double-counting of related conditions. The final RAF score combines a demographic factor, coefficients for each surviving HCC, and interaction terms for specific disease combinations. Critically, CMS updates the HCC maps and coefficients annually, meaning the same set of diagnosis codes can produce different scores depending on which model version — such as V24 or V28 — is applied. Implementers are advised to always validate their crosswalk tables against the current CMS Rate Announcement to avoid scoring errors.

0
ProgrammingDEV Community ·

Developer adds tests to PowerShell VM script after spotting one-character logic risk

A developer maintaining a PowerShell script that automates Fedora and other Linux VM builds in VirtualBox discovered a subtle fragility in its state-checking function. The function uses VBoxManage to detect when a VM has powered off, relying on a wildcard filter to isolate the VMState field from the machine-readable output. A single equals sign in the pattern 'VMState=*' prevents it from accidentally matching VMStateChangeTime, a similarly named field that appears in the same output. Had the filter been written as 'VMState*', the function could have returned a timestamp instead of a state value, silently stalling the install loop for up to 90 minutes. No bug was found, but the developer wrote six unit tests to formally document and protect the assumption going forward.

0
ProgrammingDEV Community ·

Developer shares practical lessons for building reliable CI/CD pipelines

A software developer on DEV Community detailed their journey from unreliable, ad-hoc build scripts to structured, dependable CI/CD pipelines. Early attempts using shell scripts and cron jobs frequently failed silently, with missing environment variables and broken artifacts going undetected despite green status checks. The turning point came when the developer began treating pipelines as state machines, guided by three core principles: idempotency, fast and loud failure, and environment parity with production. Using GitHub Actions and GitLab CI as examples, they highlighted common pitfalls such as missing dependency caching, unspecified Node versions, and tests running after failed builds. The article provides before-and-after pipeline configurations for a Node.js service, demonstrating how small structural changes can significantly improve reliability and developer confidence.