Skip to main content
CourseFlix

Backend Engineering with Go

17h 6m 22s
English
Paid

Embark on a journey to master Backend Engineering with Go through this practice-oriented course. Build a robust REST API in Go from scratch and deploy it in the cloud, preparing it for real traffic and scalable growth with minimal costs.

Getting Started

We will kick off with the creation of a basic TCP-server to familiarize ourselves with the net/http package, gaining a strong foundation in network interactions using Go.

Course Highlights

As you progress, you'll dive into the architectural principles necessary for building reliable and modular web applications in Go. The project will evolve step by step, covering crucial topics such as:

  • Handling HTTP requests effectively
  • Developing custom middleware solutions
  • Integrating and managing databases
  • Optimizing database queries and interactions
  • Implementing rate limiting techniques
  • Preparing for cloud deployment and managing real traffic

Course Benefits

This course offers more than just a simple guide—it provides a comprehensive training experience, aimed at instilling a deep understanding of backend systems. You'll master industry best practices for creating secure, scalable, and maintainable APIs that are production-ready.

Designed for those eager to move beyond basic solutions, this course equips you with the skills to develop real backend services in Go, ideal for real-world projects.

Additional

https://github.com/sikozonpc/GopherSocial

About the Author: Udemy

Udemy thumbnail

Udemy is the largest open marketplace for online courses on the internet. Founded in 2010 by Eren Bali, Oktay Caglar, and Gagan Biyani and headquartered in San Francisco, the company went public on the Nasdaq in 2021 under the ticker UDMY. The platform hosts well over two hundred thousand courses across software development, IT and cloud, data science, design, business, marketing, and creative skills, taught by tens of thousands of independent instructors. Roughly seventy million learners use it worldwide, and the corporate arm — Udemy Business — supplies a curated subset of that catalog to enterprise customers.

Because Udemy is a marketplace rather than a single editorial publisher, the catalog is uneven by design. The strongest material lives in the long-form, project-based courses authored by working engineers — full-stack JavaScript, React, Node.js, Python data science, AWS, Docker and Kubernetes, mobile development with Flutter and React Native, and cloud certification preparation. The CourseFlix listing under this source is the slice of that catalog that has been mirrored here for offline-friendly viewing, organized by topic and updated as new releases land. Pricing on Udemy itself swings dramatically with the site's near-permanent sales, which is why the platform is best treated as a deep reference catalog: pick instructors with strong reviews and a track record of updating their material rather than buying on the headline price alone.

Watch Online 77 lessons

This is a demo lesson (10:00 remaining)

You can watch up to 10 minutes for free. Subscribe to unlock all 77 lessons in this course and access 10,000+ hours of premium content across all courses.

View Pricing
0:00
/
#1: Project Overview
All Course Lessons (77)
#Lesson TitleDurationAccess
1
Project Overview Demo
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
Unlock unlimited learning

Get instant access to all 76 lessons in this course, plus thousands of other premium courses. One subscription, unlimited knowledge.

Learn more about subscription

Course content

77 lessons · 17h 6m 22s
Show all 77 lessons
  1. 1 Project Overview 09:50
  2. 2 Why Go with Go? 02:08
  3. 3 Preface for Udemy Students 01:19
  4. 4 Design Principles for a REST API 08:55
  5. 5 Effective Error Handling 15:29
  6. 6 Interfaces 16:17
  7. 7 Testing 06:18
  8. 8 Pointers 12:16
  9. 9 Goroutines 10:14
  10. 10 Context and Timeouts 13:30
  11. 11 Concurrency with Channels 13:21
  12. 12 Maps 06:21
  13. 13 Capstone Project (Exercise) 02:14
  14. 14 Capstone Project Solution 02:31
  15. 15 Map Concurrency & Mutexes 12:07
  16. 16 TCP Server - net package 08:28
  17. 17 Understanding Routing 03:55
  18. 18 HTTP Server - The net/http package 11:03
  19. 19 Encoding & Decoding JSON Requests 07:45
  20. 20 Setting up your Development Environment 07:52
  21. 21 Clean Layered Architecture 11:32
  22. 22 Setting up the HTTP server and API 18:12
  23. 23 Hot Reloading in Go 03:31
  24. 24 Environment Variables 06:57
  25. 25 The Repository Pattern 09:21
  26. 26 Implementing the Repository Pattern 07:52
  27. 27 Persisting data with SQL 12:54
  28. 28 Configuring the DB Connection Pool 17:16
  29. 29 SQL Migrations 15:41
  30. 30 Marshalling JSON responses 14:26
  31. 31 Creating a User Feed Post 14:20
  32. 32 Getting a Post From a User 11:42
  33. 33 Internal Errors Package 07:07
  34. 34 HTTP Payload Validation 07:44
  35. 35 DB Relationships & SQL Joins 05:05
  36. 36 Adding Comments to Posts 15:45
  37. 37 Updating and Deleting Posts 23:30
  38. 38 Standardising JSON Responses 03:08
  39. 39 Optimistic Concurrency Control 14:10
  40. 40 Managing SQL Query Timeouts 04:53
  41. 41 Database Seeding 18:56
  42. 42 Creating the User Profile 11:23
  43. 43 Adding Followers 25:11
  44. 44 SQL Indexes 08:49
  45. 45 User Feed Algorithm 21:13
  46. 46 Pagination and Sorting 14:48
  47. 47 Feed Filtering 15:13
  48. 48 Auto Generating Docs for the API 16:01
  49. 49 Documenting the Handlers 09:27
  50. 50 Adding a Logger 12:33
  51. 51 User Registration Overview 26:02
  52. 52 SQL Transactions 23:02
  53. 53 User Activation 25:39
  54. 54 Sending the Invitation Email 39:25
  55. 55 (Optional) Sending Emails using MailTrap 07:29
  56. 56 Improving Further the Email 11:48
  57. 57 Extra: Building the Confirmation UI 18:25
  58. 58 Authentication Overview 23:53
  59. 59 Basic Authentication 14:28
  60. 60 Generating Tokens 27:08
  61. 61 Validating Tokens 20:10
  62. 62 Authorization Overview 06:51
  63. 63 Authorization Database Setup 09:04
  64. 64 Role Precedence Middleware 19:43
  65. 65 Fixing the User Invitation 05:03
  66. 66 Designing for Performance 08:12
  67. 67 Caching the User Profile 38:12
  68. 68 Testing Overview 06:41
  69. 69 Testing the User Handler 28:07
  70. 70 Spies 08:25
  71. 71 Graceful Server Shutdown 11:58
  72. 72 Rate Limiting our API 21:52
  73. 73 Handling CORS errors 13:46
  74. 74 Basic Server Metrics 10:03
  75. 75 Continuous Integration 14:26
  76. 76 Changelog 11:35
  77. 77 Deploying to Google Cloud 24:22

Related courses

  • Getting Started With Golang thumbnail

    Getting Started With Golang

    By: Academind Pro (Maximilian Schwarzmüller)
    Learn all the key fundamentals of Go - one of the most in-demand and popular programming languages you can learn these days!
    15 hours 19 minutes 14 seconds
  • Practical Go Foundations thumbnail

    Practical Go Foundations

    By: Ardan Labs
    This introductory course explores topics like strings, REST APIs, error handling, testing, sorting, and more!
    13 hours 9 minutes 53 seconds 5 / 5
  • Ultimate Service 3.0 thumbnail

    Ultimate Service 3.0

    By: Ardan Labs
    This updated course teaches you how to build production-level services in Go, leveraging the power of Kubernetes.
    13 hours 33 minutes 5 seconds

Frequently asked questions

What is Backend Engineering with Go about?
Embark on a journey to master Backend Engineering with Go through this practice-oriented course. Build a robust REST API in Go from scratch and deploy it in the cloud, preparing it for real traffic and scalable growth with minimal costs…
Who teaches Backend Engineering with Go?
Backend Engineering with Go is taught by Udemy. You can find more courses by this instructor on the corresponding source page.
How long is Backend Engineering with Go?
Backend Engineering with Go contains 77 lessons with a total runtime of 17 hours 6 minutes. All lessons are available to watch online at your own pace.
Is Backend Engineering with Go free to watch?
Backend Engineering with Go is part of CourseFlix's premium catalog. A CourseFlix subscription unlocks the full video player; the course description, table of contents, and preview information are available to everyone.
Where can I watch Backend Engineering with Go online?
Backend Engineering with Go is available to watch online on CourseFlix at https://courseflix.net/course/backend-engineering-with-go. The page hosts every lesson with the integrated video player; no download is required.