Software Engineering and Business Solutions for the Web, Linux, Mobile, and More.

TopTech Projects

Product Reconciliation

This project tracks fuel as it moved through the delivery system and is divided into 2 main parts. The first is a Linux server responsible for receiving transactions from the automated remote locations. The transactions are captured and stored in a MySQL database where the second part of the project is able to manipulate the records. The technologies used in this project part included MySQL, and C/C++, GDB, Perforce, TCP/IP, and IPCs.

The second part of the project implements a web based user interface that can manage the data stored in the MySQL database. Transactions can be manipulated or managed in several ways including grouping/linking, moving, diverting, and others. The web application presents transactions in near real time to the customer using several technologies. Perforce, AJAX, Javascript, C#, ASP.NET, IIS, Jquery, and CSS are the main technologies used in this project part.

Data Point Manager

A system called Data Points was already in place but needed a better management solution as the current system had grown too large to reasonably manage manually. I identified the need for a management tool and developed one using SVN, PHP, Apache, MySQL, AJAX, and CSS, technologies. Data Points mapped data fields in a MySQL database to a GUI label in 1 or more languages. The main use for data points was the auto-generation of Datagrids complete with multilingual column headings. Other uses included form labels, and menu options. This tool reduced errors and significantly decreased development time.

Testing Tools

During the development of the Product Reconciliation application several needs were identified to address testing. Transactions were needed to be simulated and results validated. I addressed these needs by writing several tools including a transaction simulator called “Scenario Builder”, data manipulation/reset tools, and data inspection tools.

The Scenario Builder could harvest transactions from the live database and modify a copy of them in such a way that they could be reused to produce a desired chain of events in our development environment. The Scenario Builder would then feed these transactions to the simulator which would in turn act as a remote terminal. This allowed us to create many test cases based on scripted tests, well thought out “What if?” questions, and the accidental discovery of undesired behavior. The technologies used during for this project included Perl, PHP, MySQL, Javascript, AJAX, HTML, CSS, Linux cron.