Thomas Hastings

New Year with JAMstack

January 12, 2019
The JAMstack is a relativity new concept in web development, and it caught my attention because of the simplicity and speed at which pages load. The stack consists of Javascript, APIs, and Markup. Friends of mine had started coding in Go earlier in 2018, and I saw an opportunity to jump headfirst into the new stack with Go.

I began working on the Go web service that serves the blog posts about three weeks ago. I developed a simple service that provides a headless RESTful API to create, read, update, and delete blog posts. I also wrote a user authentication package that uses bcrypt for password hashing and JSON Web Tokens for API authentication. This was also my first experience writing API documentation using Swagger. The API is hosted on Digital Ocean and served using Cloudflare. Once the API was serving JSON, I had to tweak my front-end to request and receive the JSON coming from the API and parse it.
The front-end uses basic HTML and CSS along with vue.js and vanilla JavaScript. This was my first time developing with vue.js, and because I needed something simple, I did not take advantage of all the features vue provides. The front-end is hosted for free with SSL on GitHub Pages.

Suppose you are looking for an open source project to contribute to; please consider contributing to this. The API and front-end source code are all open source, and you can see the roadmap for the API in the README on GitHub. You can view the API code and documentation. The HTML and JavaScript for my site is also available on GitHub.