Building Production Ready REST APIs in Go, 2nd Edition

Building Production Ready REST APIs in Go, 2nd Edition

English | MP4 | AVC 3840×2160 | AAC 44KHz 2ch | 29 Lessons (4 hours) | 2.15 GB

My name is Elliot Forbes and I’ve been working professionally with Go for the past 7 years now. I started off with some smaller projects such as CLIs for business-report generation and over the years moved onto bigger and more complex projects.

I’m currently working for a company called CircleCI as a Senior Software Engineer working on the Pipelines team which is responsible for taking incoming webhooks from companies such as GitHub/BitBucket/GitLab etc and running CI pipelines.

Prior to that, I worked at a fintech startup based in London called Curve in which I was helping to build out their second generation payment processing platform and before that I was at JPMorgan Chase where I lead the development for the automation pipelines that now deploy and manage the largest CloudFoundry estate in the world.

Course Contents
Over the past few years, I’ve been honing my craft when it comes to building services in Go, and this course is hopefully going to capture most of my learnings within that time and present them to you in easily digestible chunks that can help accelerate your own Go learning journey.

In this revised second edition course, I’m going to be walking you through everything it takes in order to build clean, easily testible/maintainable Go services.

We’ll walk through, stage by stage, building up a production ready REST-API in Go.

Architecture Decisions
In this course, we’ll be building an application that follows a clean-architecture design. We’ll be gradually building up the various layers of our application starting at the service layer, then the repository layer and then finally the transport layer.

My intentions for this course are to help you understand the benefits of this architecture style and how it allows you to build more testable, and maintainable services that can be used in production-like environments.

Table of Contents

1 Course Overview
2 Project Setup
3 Tools Overview
4 Architecture Overview
5 Application Entrypoint
6 Service Layer
7 Accept Interfaces Return Structs
8 Error Handling
9 Context Propagation
10 Dockerizing our App
11 Docker Compose
12 Taskfiles
13 Connecting to Database
14 Running Migrations
15 Implementing the Database Package
16 Implementing the DB Package part 2
17 Bootstrap Transport Layer
18 Graceful Shutdowns
19 Implementing our Handler Functions
20 Versioning our Endpoints
21 Implementing Middleware.mp4
22 Timeout Middleware
23 JWT Auth Middleware
24 JSON Request Validation.mp4
25 Testing Overview
26 Integration Testing
27 Acceptance Tests
28 CircleCI Project Setup
29 Course Conclusion