Details the work done for my personal website (hopefully what you're reading this on right now!), including resources, tech used, and lessons learned.
Honestly, I was feeling pretty bored, and had no idea what kind of cool side project I'd like to start, so I decided that a great procrastination project would be to update my old personal website! Aside from it being a fun procrastinating project where I could sharpen my web development skills, a personal website also serves as a great medium for documenting and publicizing my personal projects and random thoughts. And since it's git based, I thought there might be some good potential to also have others help to edit and update written articles. Though really it's just my own little personal space on the internet where I can be creative (and rant)!
There are a lot of things that still bug me about this site. It still looks super basic in terms of Material design, so I need to add my personal touches including updating the theme, the blog cards could use photos, I still need to add Markdown code support, among other things...many other things. Point is I could spend the next 5 years improving this site, and still I'd have things I'd want to make better. I like this site, and I had fun making it, but I've minimally accomplished what I set out to do. I made an awesome site I could blog on and improve upon when I'm bored. That's good enough...for now.
Backend testing with units makes a lot of sense, but on the front-end, especially with GUI components that method of testing becomes pretty cumbersome. I think using something like Cypress, where you can test the intention of your code through a browser is the more optimal approach, and it saves me a lot of effort (and headache) in understanding how a test library paints the UI components to test. The only downside is that it takes a while to run each test since it's browser based. I wish I researched and found Cypress sooner, and probably would have written all my tests (even unit tests when necessary) in Cypress.