This repo contains the examples and exercises for The O'reilly online learning courseGo Web Development in 3 weeks.
In this course, you will learn all the steps to build a web service in Go. From starting the service to monitoring your service, it is meant to give you a comprehensive guide for building production-level service. The first section of the course will handle building restful best practices in Go. Communication is key for designing and building your services and is the foundation on which your functionality will be built. The second section is all about databases. Each web service needs a layer to store, fetch, and manipulate the data communicated with it. We need to make sure our data foundations are strong so we maintain the state of our services. The last section is an overview of reliability. This section just goes over reliability basics, but they are vital things that every engineer should include when building a web service. This course does not go over Go basics.
- Go installed and running
- Working knowledge of go
If you are new to go, work through these exercises first
- Exercise 1: std lib listenAndServe
- Quiz: Status Codes
- Exercise 2: Using a web framework
- Exercise 3: Client to query hosted server
- Exercise 4: HttpTests
- Exercise 1: Connect to a live database
- live coding: SQLC and goose
- Exercise 2: Add client and interface
- Exercise 3: Unit tests with mock client
- SQL quiz
- Exercise 1: API Auth
- Exercise 2: Middleware
- Exercise 3: add monitoring for endpoints
This is a live production service that implements the game 20 questions. Code from this service is pulled out for the course exercises. The service code can be found here.