This application serves as the core entry point for customers applying for service at Nexicom. It is an internal software used by the customer service team that I designed and developed to replace an outdated and difficult to maintain version written with PHP 5.
It includes a separate administration website that is used to manage and configure data for various organizational domains which all come together during the application process.
I was able to write this application from the ground up using my preferred modern frontend and backend tools and frameworks. The frontend is powered by Vue and designed with Tailwind CSS loaded up with all of my own Tailwind design plugins for working with spacing and color.
To allow for components to be reused across projects within the company, I created separate packages for Vue UI components that are public and those that are internal only. All components were built from the ground up using the patterns I established in the Medical Centre project, including support for masking and validation states on input components which are used by the GraphQL form component for easy feedback. This package is used in both the admin website and the AMS website, with plans for a rebuild of the main website to use the same package.
The backend is powered by NestJS and packaged into a Docker container for deployment as an application. Since the project is in early days, the infrastructure consists of a simple Docker Compose file with ingress provided by Caddy 2.