To start let's look at what JAMstack is. JAMstack isn’t a specific set of tools, but a new, modern way of building websites & apps.
So where does “J-A-M” come from? And the answer is these three core concepts.
APIs: All server-side functions or database actions are abstracted into reusable APIs, accessed over HTTPS with JS.
Markup: Templated markup should be pre-built at build time, usually using a site generator for content sites or a build tool for web apps.
For many years this site has been static, and over that time I have noticed that I have updated the site less and less. The main areas that have suffered are the portfolio and blog, removing the blog completely during the last build!
Alongside this, I was running many other systems for form collection, support tickets, questionnaires, surveys the list goes on. I had reached the point of being sick of maintaining many solutions and wanted to bring this all under one roof.
Some of the pages, such as our services page, I was more than happy to leave as static. I prefer a custom layout for each of the services, rather than templating everything.
I also wanted a way to achieve the following:
I am adding more and more ideas to the plans for the website going forwards. Check our progress (coming soon)
After researching about JAMStack for a while now, looking at the many frameworks and headless CMS solutions I could use, I settled on the following:
Nuxt.js - Vue.js framework
I am working on another post that talks about the challenges I faced and the progress to date.
Part 2 - Building with Strapi and Nuxt.js (coming soon)