I have been developing my portfolio website for years and each time I stopped, mainly because I was overthinking things. This time I am developing the minimum viable product which must meet the following requirements.
- accessibility to the nth degree
- headless cms to decouple front end and prevent me from rolling my own for some reason
- Vue with tsx (no classes)
- fully unit tested
I used contentfull in the past which was enjoyable, but each component used its own id prop that mapped to the content id that populated it, that was a nice approach because it leant itself to things I value most, reuse and flexibility... However there is a gotcha, requests, requests, requests. Every piece of data would link to some other bit of UI via a reference, that sounds okay but each reference was just a pointer to some data, it soon became API spaghetti.
This time was going to be different, I cut a branch named contentful, I realized that the free CMS plan didn't offer the solution I needed, enter graphql. Graph query language let's you in a word, query what you want your API to return in one request. So there you go, just get the data for the view before router navigation and hey presto, one request, plenty of data. The idea is so appealing but I needed a platform as good as contentful. Google revealed GraphCMS, it had a free developer plan with some catches, but still it did give me graphql powers, I took performance over features like internationalisation.
So I'm happily learning to query my graph and thinking about this in a different way. I will show you when it's ready for feedback. Thanks for reading.