MUI Form Builder (NPM Package)
September 2023
Problem Background and Project Description
The form builder project was a byproduct of the Individual Pursuits project and its requirements. The Individual Pursuits project required a form builder to be built to allow team coordinators to create forms for the support workers to complete. Our initial design of the Individual Pursuits project used a npm package which allowed for fast prototyping, but was not ideal for the long term. The npm package was not customizable enough for our needs and did not match the components used in the rest of the application. Once the Individual Pursuits application was working, it was decided to create an open-source form builder, which could be maintained seperate from the original application and imported into the Individual Pursuits project.
The form builder was to contain components for text/number inputs, dropdowns, checkboxes, and radio buttons and more. The code architecture was to be simplistic and scalable to allow for easy addition of new components. The form builder was to be built using React.js and TypeScript, and was to contain MaterialUI components to match the rest of the application.
Development Phase
The development team was comprised of myself, along with another student from my program I had worked with previously on school projects and had a valuable skillset for the project.
- npm
Node Package Manager
- Material UI
React Component Library
- React.js
Frontend Framework
- TypeScript
Typed JavaScript Superset
NPM was used for deployment of the project to allow for easy importing into other projects, specifically the Individual Pursuits project.
React.js and MaterialUI were used to match the rest of the application and to allow for easy customization of the components, as well as the large community support.
TypeScript was used to allow for type checking and to allow for easier debugging, as well as maintainability.
Project Status
The form builder is currently deployed as an npm package and is being used in the Individual Pursuits project. The form builder is currently being maintained by myself and Seiya Terada and can be installed using npm.