Backend Engineering with Go
In this practice-oriented course, we will build a full-fledged REST API in Go from scratch and deploy it in the cloud, ready for real traffic and scaling with minimal costs.
Read more about the course
Where we'll start:
We will start by creating a simple TCP-server to get acquainted with the net/http package and understand the basics of network interaction in Go.
What you will learn:
Then we will delve into the architectural principles of building reliable and modular web applications in Go. The project will develop step by step, and you will go through key topics such as:
- Handling HTTP requests
- Creating custom middleware
- Database integration
- Optimizing queries and database interaction
- Rate limiting
- Preparing for cloud deployment and handling real traffic
What this course will give you:
This course is not just a step-by-step guide - it is a comprehensive training aimed at developing a deep understanding of backend systems, mastering industry best practices, and creating secure, scalable, and maintainable APIs ready for production.
It is perfect for those who want to go beyond template solutions and learn how to develop real backend services in Go that are ready for real-world projects.
Watch Online Backend Engineering with Go
# | Title | Duration |
---|---|---|
1 | Project Overview | 09:50 |
2 | Why Go with Go? | 02:08 |
3 | Preface for Udemy Students | 01:19 |
4 | Design Principles for a REST API | 08:55 |
5 | Effective Error Handling | 15:29 |
6 | Interfaces | 16:17 |
7 | Testing | 06:18 |
8 | Pointers | 12:16 |
9 | Goroutines | 10:14 |
10 | Context and Timeouts | 13:30 |
11 | Concurrency with Channels | 13:21 |
12 | Maps | 06:21 |
13 | Capstone Project (Exercise) | 02:14 |
14 | Capstone Project Solution | 02:31 |
15 | Map Concurrency & Mutexes | 12:07 |
16 | TCP Server - net package | 08:28 |
17 | Understanding Routing | 03:55 |
18 | HTTP Server - The net/http package | 11:03 |
19 | Encoding & Decoding JSON Requests | 07:45 |
20 | Setting up your Development Environment | 07:52 |
21 | Clean Layered Architecture | 11:32 |
22 | Setting up the HTTP server and API | 18:12 |
23 | Hot Reloading in Go | 03:31 |
24 | Environment Variables | 06:57 |
25 | The Repository Pattern | 09:21 |
26 | Implementing the Repository Pattern | 07:52 |
27 | Persisting data with SQL | 12:54 |
28 | Configuring the DB Connection Pool | 17:16 |
29 | SQL Migrations | 15:41 |
30 | Marshalling JSON responses | 14:26 |
31 | Creating a User Feed Post | 14:20 |
32 | Getting a Post From a User | 11:42 |
33 | Internal Errors Package | 07:07 |
34 | HTTP Payload Validation | 07:44 |
35 | DB Relationships & SQL Joins | 05:05 |
36 | Adding Comments to Posts | 15:45 |
37 | Updating and Deleting Posts | 23:30 |
38 | Standardising JSON Responses | 03:08 |
39 | Optimistic Concurrency Control | 14:10 |
40 | Managing SQL Query Timeouts | 04:53 |
41 | Database Seeding | 18:56 |
42 | Creating the User Profile | 11:23 |
43 | Adding Followers | 25:11 |
44 | SQL Indexes | 08:49 |
45 | User Feed Algorithm | 21:13 |
46 | Pagination and Sorting | 14:48 |
47 | Feed Filtering | 15:13 |
48 | Auto Generating Docs for the API | 16:01 |
49 | Documenting the Handlers | 09:27 |
50 | Adding a Logger | 12:33 |
51 | User Registration Overview | 26:02 |
52 | SQL Transactions | 23:02 |
53 | User Activation | 25:39 |
54 | Sending the Invitation Email | 39:25 |
55 | (Optional) Sending Emails using MailTrap | 07:29 |
56 | Improving Further the Email | 11:48 |
57 | Extra: Building the Confirmation UI | 18:25 |
58 | Authentication Overview | 23:53 |
59 | Basic Authentication | 14:28 |
60 | Generating Tokens | 27:08 |
61 | Validating Tokens | 20:10 |
62 | Authorization Overview | 06:51 |
63 | Authorization Database Setup | 09:04 |
64 | Role Precedence Middleware | 19:43 |
65 | Fixing the User Invitation | 05:03 |
66 | Designing for Performance | 08:12 |
67 | Caching the User Profile | 38:12 |
68 | Testing Overview | 06:41 |
69 | Testing the User Handler | 28:07 |
70 | Spies | 08:25 |
71 | Graceful Server Shutdown | 11:58 |
72 | Rate Limiting our API | 21:52 |
73 | Handling CORS errors | 13:46 |
74 | Basic Server Metrics | 10:03 |
75 | Continuous Integration | 14:26 |
76 | Changelog | 11:35 |
77 | Deploying to Google Cloud | 24:22 |
Similar courses to Backend Engineering with Go

Web hook service application over SSHAnthony GG

Building LevenueAnthony GG

Learn to Create Web Applications using Gousegolang.com

Ultimate Service 3.0ardanlabs.com

Ultimate Go: Advanced Engineeringardanlabs.com

Blockchain from scratch with GRPC and ProtobuffersAnthony GG

Web Development with Google’s Go (golang) Programming Languagegreatercommons.com
