Go Projects
3.9 (14 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
122 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Go Projects to your Wishlist.

Add to Wishlist

Go Projects

Explore real-world web application projects with Go
3.9 (14 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
122 students enrolled
Created by Packt Publishing
Last updated 12/2016
Current price: $12 Original price: $90 Discount: 87% off
3 days left at this price!
30-Day Money-Back Guarantee
  • 2.5 hours on-demand video
  • 1 Supplemental Resource
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion

Training 5 or more people?

Get your team access to Udemy's top 2,000 courses anytime, anywhere.

Try Udemy for Business
What Will I Learn?
  • Enhance your skills at building web applications
  • Create a tool to serve static files over HTTP from any directory
  • Set up a database-powered web application to power your own website
  • Get to know techniques to create HTTP middleware, keeping the codebases simple and elegant
  • Frame a user authentication system that supports multiple clients
  • Extend your web applications by creating a JSON REST API
  • Build your first real-time web application: a chat server
  • Get to grips with maintaining a production application
View Curriculum
  • This video course delivers guidance to start contributing to the open source community and begin developing projects step-by-step. All of the projects covered demonstrate a vast number of versatile use cases Go is capable of accomplishing, along with the open source libraries and frameworks that have appeared recently.

This video course introduces you to a range of programming projects with the Go language, demonstrating how to put the language to use for a variety of real-world applications and services. These projects range from command-line tools to distributed messaging services, web services, and web applications with Go running on the server side.

We first discuss then model the projects based on popular usages (for example how Docker and Soundcloud use the language). The driving force here is what Go is powerful for— creating fast, real-time applications and services that leverage the use of concurrency.

We’ll demonstrate how versatile the language can be and how it can be put to use in a range of real-world programming domains, whether that’s for DevOps tools, cloud-based services, or RESTful web services. Interwoven with the projects, there are demonstrations of best practices and design patterns, and techniques you can carry over to your own projects.

The projects also demonstrate the key features of Go in action, such as concurrency, and will start to explore the rich ecosystem of open source libraries and frameworks that are being continually developed for the language.

By the end of this course, you will have everything you need to go out into the wild with Go to build projects of your own.

About The Author

Ben Tranter is a developer with nearly six years’ experience. He has worked with a variety of companies to build applications in Go, in the areas of data mining, web back ends, user authentication services, and developer tools, and is a contributor to a variety of open source Go projects.

Who is the target audience?
  • There is a plural audience for this course. Experienced programmers with a background in another language - this can be anything from Ruby to C or JavaScript - and want to be shown how to develop projects of their own. They are fast learners and are versed enough in general programming to pick up the techniques and logic needed to build the projects showcased in the course. The other segment of this audience is comprised of programmers who are currently hacking around in Go, know the fundamentals, but need a more structured way of understanding how to put this knowledge into practice.
Compare to Other Go Programming Language Courses
Curriculum For This Course
32 Lectures
Introducing the Go Programming Language
2 Lectures 06:39

In this video, we will review the road map of our course and take a look at what we are going to build.

Preview 01:08

Get started with Go.

Installing Go
Creating a Simple Website with a Static File Server
3 Lectures 10:44

Write a very simple Go application, and not something too complex, to get introduced to the language and tooling. A static file server is an 11-line Go program that actually does something

Preview 03:58

To accept command-line arguments in our program.

Accepting Command-line Arguments

Compile the code to a binary.

Compiling to a Statically Linked Binary
Building a Content Management System Dashboard
4 Lectures 20:05

Render HTML templates.

Preview 05:35

Get started to handle HTTP requests, and extract data from them. Also you will be able to route HTTP requests.

Handling GET and POST Requests

Learn how to get connected to a database, read to it, and write from it.

Get started to handle HTTP requests, and extract data from them. Also you will b

Get started with writing tests in Go.

Writing Tests in Go
Capturing Web Analytics
4 Lectures 17:38

See the techniques that apply to write HTTP middleware.

Preview 04:30

To show how to capture analytics.

Logging and Analytics

To learn how to handle errors in Go.

Error Handling

The user must be able to pass data between middleware.

Advanced Middleware
Building a User Login/Authentication System
5 Lectures 26:06

You will need to know how to handle username/password combinations, specifically how to hash and salt passwords

Preview 05:15

Get to know how to send a password reset e-mail.

The Password Reset E-mail

To create a session and a corresponding session.


Implement passwordless, sessionless authentication.

Sessionless, Passwordless Authentication

The three things that you can do to make your web applications more secure.

Web Application Security
The three things that you can do to make your web applications more secure.
4 Lectures 16:08

Learn how to handle JSON in Go.

Preview 05:13

To handle JSON streams.

Streams and JSON

To stream to a buffer before writing to a client.


Handle images over HTTP.

Image Handling
Writing a Real-time Chat Server
4 Lectures 18:00

Introducing Go's concurrency model before writing a chat server.

Preview 04:03

Introduction to advanced concurrency concepts by writing a simple chat server.

A Simple Chat Server

To write a web-socket-based chat server.

An Advanced Chat Server

Learn to use web sockets to implement real-time notifications.

Real-time Notifications
Deploying Your Application (Automatically!)
3 Lectures 15:05

Deploy any Go application in production.

Preview 05:10

Set up automated deployments for the Go app.

Automated Deployments

The aim of this video is to set up continuous integration for the Go projects.

Continuous Integration
Running an Application in Production – Advanced Debugging and Testing
3 Lectures 11:30

To debug the existing programs.

Preview 04:26

Understand how Go's reflection works.


Understand the pprof tool and the information it provides.

About the Instructor
Packt Publishing
3.9 Average rating
8,274 Reviews
59,218 Students
687 Courses
Tech Knowledge in Motion

Packt has been committed to developer learning since 2004. A lot has changed in software since then - but Packt has remained responsive to these changes, continuing to look forward at the trends and tools defining the way we work and live. And how to put them to work.

With an extensive library of content - more than 4000 books and video courses -Packt's mission is to help developers stay relevant in a rapidly changing world. From new web frameworks and programming languages, to cutting edge data analytics, and DevOps, Packt takes software professionals in every field to what's important to them now.

From skills that will help you to develop and future proof your career to immediate solutions to every day tech challenges, Packt is a go-to resource to make you a better, smarter developer.

Packt Udemy courses continue this tradition, bringing you comprehensive yet concise video courses straight from the experts.