My team at Fastenal worked on a number of search APIs for the company. One prominent API was our product API, but our team had no official front-end to showcase its features and functionality. So I made an SPA using Vue JS, Vue Router, Spring Boot and Bulma CSS to show how quick and accurate our search engine could be.
I had some interesting learning lessons with this project. Handling state and navigation was initially a problem as I tried to do this manually using a big javascript object. I JSON stringified it and encoded it in the URL to handle page reloads and URL sharing. This quickly became a problem as the URLs were too large and I feared I was reinventing the wheel, making the app too confusing to maintain. This led to Vue Router and I redesigned the app to utilize routes.
I enjoyed working on this project, fiddling with UI elements and learning Vue. With more time and resources one future change would be storing shareable links in a database rather than passing parameters around during navigation. The URLs ended up being large and unsightly; keeping them simple with a shareable link option could contribute nicely to the overall app experience.