This project began because I wanted to work on something substantial to learn some basics of web development with Go:

  • Templating
  • Working with Postgres
  • Basic Authentication

At the time of this writing, the app doesn’t offer much beyond the basics, but I’d call it a success; I got to try various ways of doing things, and I got a lot more familiar with the language.

I would like more practice with go routines, monitoring with Prometheus, and developing an API, though, so I’ll be starting my next project shortly.

Git Tells The Story

I made a modest attempt to tell my learning story with Git, so be sure to check out the commit history on Github and read the commit messages. There were many times I just got carried away with practicing, though, so I apologize that the history may not be easy to digest. I hope that between code comments and commit messages, though, you can learn something.

Overall Impressions

When I first tried Go, I was thrilled with my experience.

For a long while I had wanted something that felt like a modern C without all the extras that comes with JavaScript, PHP, etc. and Go certainly delivers.

After completing this project I love the language even more. I had a blast working through this, and I’m really looking forward to my next project.

At times I was annoyed by all the code I had to repeat - particularly with error checking. While I’m sure I will learn better ways to do this; nevertheless, this bit of tedium didn’t much dampen my enjoyment of the language.

In the blog posts that follow I will try and communicate what I enjoyed, what I didn’t, and all those little ah-ha moments I had.