Support tools in Rust and React
When I started this tool I really just wanted to learn new things. I had not done much in Rust or React so I thought it would be a good idea to build something with not much pressure. So I ended up making a tool for our customer support team that fixed a lot of issues we ran into regularly. We ran simulation software on a full server rack of machines to run all of the displays on a system. This had a lot of configuration files, a lot of machines to manage, and a customer support team who never learned to type correctly. This tool was designed to help with all of those issues, to do that I needed to make a XML configuration editor that did type checking and form validation that syncs all of the machines configs together. It also needed a way to configure a lot of machines that should all be linked together.
I ended up making a few tool in here so now it does a number of things:
You can edit and form validate xml files that get synced when saved. This solved the typo issues that people used to put in files.
Syncing builds between systems. When you select an installer folder it will go out and copy it to each machine and install it on all machines.
You can report bugs straight to jira from any computer running the software. This auto included all kinds of system information including build versions installed. This helped ensure less questions had to be asked to close reported issues.
A tool that scans the network and lets you select the machine names that you want synced with this machine, this page also has Jira configs for API keys etc.
The tool is a portable app so that it can be ran off of a flash drive and saves all of the sensitive information on that same drive. So customer machines never get left with API keys or access to edit configs that they are not supported to touch.
In the backed you can check out the code at https://gitlab.com/benbeezy/xml_edit but the gist is that the rust system runs in the backed and the react frontend calls the the rust methods to run all of the functions, it is all async so you can search for machines without lockup issues etc. The Rust backend then calls the frontend to show the nice frontend. The git repo also has a guide on how to get the system setup to build on your machine.