Welcome Gophers! In this course, weβll be covering absolutely everything you need in order to get up and running developing Production-ready REST APIs using Go.
Throughout this course, weβll be looking at how you can build a Comment system for your own sites or projects. Weβll walk through everything from setting up your Go project, all the way through to implementing the API and the tests around the API, and then finally, weβll finish up by docker-izing our Go app and deploying to Kubernetes.
Iβll be walking you through some of the best practices in terms of structuring your Go app so that itβs easily testable and maintainable. Once, weβve got a solid foundation, weβll then introduce a database in the form of Postgres and weβll look at how we can use gorm
in order to communicate to that database and perform migrations for us.
Prerequisites
This course has been designed for people who:
- Have some familiarity with the Go syntax and understand the syntax.
- Want to take their Go skills to the next stage and learn how to build production-ready services.
Topics Weβll Cover
Throughout the course, weβll be covering fundamental topics such as:
- Project Initialization and Setup
- Implementing REST HTTP Endpoints with the Gorilla Mux router
- Working With PostgreSQL
- Containerization with Docker and docker-compose
- Continuous Deployment to Kubernetes
- Proper Structuring of your Go App
- Using GORM to talk to the Database
- Proper Testing Strategies
- Basic Authentication with Middleware
By the end of this course, you should be comfortable building your own Go services from the ground up and ensuring that good engineering practices are being adhered to for these new services.
Youβll have a solid foundation on how Go apps can be structured in such a way that they are extensible and easily tested. Youβll also have exposure to ORMs and interacting with the incredibly popular Postgres database technology.