I stopped thinking of my project in ANSI C as the ultimate end-all, be-all and started to think of it as a stopgap measure to just finish while I work on the multiplatform version running on MicroApache and PHP. As soon as it stopped needing to be "perfect," I began to make progress on it again. I was working on a generic flavored all-purpose HTML/CGI search query page which I scrapped and just made custom search pages for inventory and personnel. After seeing how easy that was to get working I made a custom page which waits for a barcode to be entered through a CueCat interface and then looks up the matching inventory item. Right there, three primary functions of Vault-OS working. Create-Replace-Update-Delete on any table with editing form plus search. (CRUD)
Tonight I plan to work on the web form that calculates totals required for basic storage food essentials based on the people in the personnel file, then does the sums of what is in inventory and produces the effective shortfall as a wishlist for shopping. The web form allows you to simply enter the number of years you would like to provide for the group and it does everything else. This is very simple since I already built a huge table of factors to multiply for all the vitamins, grains, oils, dairy and proteins for approximate calorie requirements.
I got this going since last Thursday. The entire embedded web server is one standalone executable in 734K, more than small enough to fit on a floppy disk. No other files required except optional JSON configuration file. The executable creates the entire database for all tables with all foreign keys and triggers when it first boots up if it does not find it on the file system.
Must keep thinking of this as just a casual, fun program I am finishing off as a stopgap measure. I seem to make good progress on it when I do that.
I discovered that if I make a security exception for SQL injection, (SELECT only) that I can do some pretty sophisticated things throughout the application. You're not supposed to ever do this on the World Wide Web because of security problems but I do not foresee this program being used in that context without SSL.