SuiteTools redesign

SuiteTools looked promising, but it was a battle to add new functionality. What it required was a redesign for easier development and maintenance.

The first step was to completely separate the frontend (client) from the backend (server). This not only helps with managing complexity but also allows the best tools to be used for each.

For the backend, my NetSuite TypeScript SDF Project Template allowing development in TypeScript and deployments with NetSuite's SuiteCloud Development Framework (SDF) had proven itself. In additional to continuing to use a Suitelet to bootstrap the app, I created a RESTlet for the API endpoint from the previous model component.

For the frontend, I needed to select a lightweight JavaScript library with a large ecosystem for building dynamic and responsive web applications. After half a year of exploration, I selected React. I also selected Vite as the build tool since it easy to use and fast.

Another design decision was to build the frontend as a Single Page Application (SPA) since they allow for a very interactive and responsive UI. The component-based architecture allows for easier development and maintenance. The React SPA was built from the previous controller and view components.

Not only is the development now easier, but the application is also extremely responsive. React also has a rich ecosystem. I am continuing to use Flowbite and Tailwind CSS for styling. And using react-data-grid for displaying data and D3 for dynamic interactive data visualizations.