Chapter 4 · ArCom4•1
DBA tool
A web-based DBA tool replacing a legacy C++ application, on the same database. There was no source code: the old application was reverse-engineered from the outside.
Largely solo and full stack, Kevin replaced its nested menu with a tab interface simulated inside the page, built every complex form page on one shared abstraction, and wrote the documentation the old application never had.
- Client
- ArCom
- Role
- Full-stack developer
- Period
- 2023–2024 · 13 mo
- Team
- 1–3
Wiring key
DBA tool4•2
A projection drawing. At the top, the old C++ desktop application, ghosted: a window with a plain nested menu, open two levels deep, over a form. There was no source code, so lines are traced straight down from its fields and buttons to the same fields and buttons in the new web tool below it. The web tool is new in one way: its screens open as tabs, simulated inside the page; one background tab is marked with unsaved changes, because each tab keeps its own form state. Under the web tool, a line runs to the new .NET back end and on to the MSSQL database. A bracket marks the web tool and the back end as built new, full stack, and the database as kept: it is the same database the C++ application ran on, whose old, broken lead runs down the left side.
C++ desktop applicationNo source code: its screens, fields and rules were read from the running application. A plain nested menu was its only navigation
Web toolNew: screens open as tabs, simulated inside the page. Each tab keeps its own form state; the red dot is a tab with unsaved changes
.NET back endBetween the tool and the database
The same databaseThe MSSQL database the C++ application ran on, kept: the new tool runs on it
The pattern every form page in the tool is cut from, drawn as a dashed outline with three slots: the record at the top, the fields in the middle and the actions at the foot. Beside it, a stack of form pages built from it, each with its own fields in the same three slots.
- 1Record. Loaded and saved through TanStack Query
- 2Fields. Values, checks and unsaved changes in React Hook Form
- 3Actions. The same bar on every page
Every complex form page in the tool is cut from the one pattern; only its fields change
Notes
- As a Zinderlabs consultant at Rekencentra, on a project for ArCom.