Hello world! We did it. 🎉

It took long enough but that's alright. I wanted to make sure that I got everything just right. As well as had a system that would be easy to scale. I've taken lots of notes both paper and digital of my trials and tribulations over the past several weeks. My intention is to share all of this in a series of blog posts. What worked, what didn't and why I chose what I chose. I've worked with smaller blogging platforms but never something with a distinct front end and back end. Everything in the past has been more or less a static site generator with blogging features.

Front End

For a long time, many months before I started actually developing this site I had in my mind resisted using javascript for it. It's not the language I learned on and those of us that don't learn on javascript usually don't have a friendly view of javascript. Nevertheless I had to shelve my emotions and dive in. While you could write a disseratation on the equal, and better aspects provided by web frameworks written in other languages. It's hard to deny that things done in javascript tend to much easier(once you're up and going) to implement than in other offerings. Now, to not start any wars it should be said a lot of this is mostly because javascript is simply used the most and not because javascript is better. In other words, cool new fancy web techonologies are usually implemented in javascript first since that's where it's likely to get the most attention.

Well I don't know React and I wasn't going to go about learning React in a couple weeks attempting to stand up some website in production. So Vue seemed like a good fit, more specifically Nuxt which is basically Vue wrapped up with extra goodies to make it better suited for production usage.

Back End

My options for what to do with the back end were obviously more limited. I looked at the main contenders, Storyblok, Contentful, Butter, Prismic. Not fully open source and can get pricey ridiculiously quick. Here were some of my basic requirements:

- open source
- headless
- easily scale
- allow multiple authors
- modern and responsive

Strapi and Ghost seem to be the most developed and supported open source options. Being how far ahead Ghost is developmentally and the team behind it, it is hard to compare to Strapi who is running a much smaller, more community driven open source development process. Having spent the last couple weeks with Ghost, I'll just say it's remarkable it's totally free and open source. The install process alone is uncomparable being that Ghost has created a script to spin up everything for you, while Strapi requires you to do it all yourself. Additional tooling that larger teams like Ghost have time to build but folks like Strapi don't.

I like Strapi and I want to go back and visit it for some projects that aren't a full on publishing platform and blog. It allows for much more customization in how your content is formed at the API level. And the ability to create new kinds of content per se, like things aside from blog posts. For example, you could create a content type that represented a food recipe. Such that it contained different content fields for everything involving a food recipe. The content fields for a food recipe are obviously different from that of a blog post. A blog post requires some paragraphs and maybe some media. A food recipe requires ingredients, a process, some media, you get the point. The reason for doing this is so that every time you go to create a new food recipe all you have to do is fill in the relevent content fields and not start from scratch each time. Ghost doesn't offer all this flexability and is mainly focused on writing content consisting of paragraphs and media. Which is fine because it does it extremely beautifully and well.

To be continued . . .