A new project - House Buyers Toolkit
Long time now see. Another day another project. This was a new project to look at house buyers and a collection of tools that can prove useful to prospective buyers. This project was inspired by the various tools that are commonly used when looking for a home to buy. In hindsight it could be more appropriately named Home Buyers Toolkit, to include a house or an apartment.
So this is hosted on Netlify, I built this with Vite, as many of you know Create-React-App has reached EOL in 2023. So I built this project as an oppurtunity to explore Vite as a build tool, and also built this with typescript instead of the normal javascript, which is my typical language of choice.
It is purely client-side logic there is no back-end implementation. In the future, I might choose to implement a back-end logic, for an authorization logic, add a persistent data layer in the form of a database or blob storage.
I also used this project to brush up on my CSS skills, I attempted to make the site as responsive as possible. For example making sure the div tags stacked correctly when the screen size shrinks.
Future Developments (Some ideas to develop this idea further):
- Adding some identity and access management- This will be useful for persisting session storage. I have some ideas on how I could make this work. For example implementing some authentication with an IdP provider such as Sign In With Google.
- Improving the unit test coverage - This will be important for adding more functionality and making sure I am not breaking existing functionality. Unit test were something I used to not focus on my personal projects, but it has become more important as I am developing by myself sometimes I forgot about other features or functionality and introduce a breaking change. But unit tests have been a lifesaver, so I can use a nice npm test script and it will give an indication if there are any new bugs.
- Introducing a compute layer - This is not the highest priority for this project, and may not be essential. But this could increase in priority if there are any additional tools that are set up which can introduce complexity or increase the workload on the client device, then it can reduce the performance of the app, so it would be preferable to offload some of this computing to a separate layer, and introduce some kind of caching to reduce the cost on the computing server.
- Mobile Application - This would be a long-term possibility, including producing a mobile application version of this. I imagine this would follow on from the Identity and access management, because a customer would expect their session data to persist among their devices, so naturally you would need to tie this to a userId of some sort.
- Artificial Intelligence- This is partially tongue in cheek, but also a point to consider about whether AI could also be linked to this, maybe a pre-generated report with suggestions based on historical usage. Who knows, but I think it wouldn't be at the top of my list.
As you know I like checking the Lighthouse score as a standard for the web pages I am building, espcially the single page applications. Because it can be useful to continuously develop best habits to keep in mind. Performance is at 98% which I would expect as there is not a lot of dynamic elements on the page, so it is rendering quite quickly.
Please see the finished project here: https://house-buyers-toolkit.netlify.app/
And here is the link to the Github project: https://github.com/bowoadej/house-buyers-toolkit.