Project

MyROI

Summary

A project for keeping track of investments for small to medium size portfolios. It uses caching to improve performance when fetching data for more complex calculations.

Background

I wanted a replacement for an excel spreadsheet that I was using to track my investments and manage details about my portfolio. So I built an app for it, where I can create and track all of the individual transactions, as well as using them to calculate additional data like profit/loss.

Experience Gained

I have gained experience in using Redis to cache data to speed up page load times & reduce the number of queries the application uses, I have been able to test this with Sentry’s APM tool that allows me to measure the performance of each request, which I then used to increase the performance by tackling the slowest requests first.

I have also gained lots more experience working with Tailwind & used it to completely redesign the UI of the application after reading and following along to the Refactoring UI course, it enabled me to better understand how to create good UI & UX that enables users to interact with the underlying application in a clear & intuitive way.

This was also the first project that I have set up & used Cypress for my end to end browser testing. I have found it to work very well as an additional tool to Laravel Dusk, which I use to test the visual aspects of each page in turn. However, I use Cypress to run my full end to end test suite, in order to make sure I haven't broken anything with my changes.

Key Tech Used