Skip to content
UdemyWeb DevelopmentPaid courseIntermediate levelCertificate

Building Web Applications with Go - Intermediate Level (Udemy.com)

Learn how to build a secure ecommerce application with Go (Golang)

Created by: Trevor Sawler

Last updated July 2025

icon
What you will learn

  • How to build a front end website using Go
  • How to build a back end API using Go
  • How to build multiple applications from a single code base
  • How to build microservices in Go
  • User authentication in Go
  • API authentication using stateful tokens
  • How to allow users to reset a password in a safe, secure manner
  • How to integrate Stripe credit card processing with a Go back end
  • Make one time or recurring payments with Stripe
  • Best practices for making secure credit card transactions

icon
Quality Score

No CourseDuck member has rated this course yet. Taken it? Give each part a thumbs up or down.

Content Quality
/
Video Quality
/
Qualified Instructor
/
Course Pace
/
Course Depth & Coverage
/

Overall Score : 96 / 100

icon
Course Description

This course is the followup to Building Modern Web Applications in Go. In this course, we go further than we did the first time around. We will build a sample E-Commerce application that consists of multiple, separate applications: a front end (which services content to the end user as web pages); a back end API (which is called by the front end as necessary), and a microservice that performs only one task, but performs it extremely well (dynamically building PDF invoices and sending them to customers as an email attachment).

The application will sell individual items, as well as allow users to purchase a monthly subscription. All credit card transactions will be processed through Stripe, which is arguably one of the most popular payment processing systems available today, and for good reason: developers love it. Stripe offers a rich API (application programming interface), and it is available in more than 35 countries around the world, and works with more than 135 currencies. Literally millions of organizations and businesses use Stripe’s software and APIs to accept payments, send payouts, and manage their businesses online with the Stripe dashboard. However, in many cases, developers want to be able to build a more customized solution, and not require end users to log in to both a web application and the Stripe dashboard. That is precisely the kind of thing that we will be covering in this course.

We will start with a simple Virtual Terminal, which can be used to process so-called "card not present" transactions. This will be a fully functional web application, built from the ground up on Go (sometimes referred to as Golang). The front end will be rendered using Go's rich html/template package, and authenticated users will be able to process credit card payments from a secure form, integrated with the Stripe API. In this section of the course, we will cover the following:

  • How to build a secure, production ready web application in Go

  • How to capture the necessary information for a secure online credit card transaction

  • How to call the Stripe API from a Go back end to create a paymentIntent (Stripe's object for authorizing and making a transaction)

Once we have that out of the way, we'll build a second web application in the next section of the course, consisting of a simple web site that allows users to purchase a product, or purchase a monthly subscription. Again, this will be a web application built from the ground up in Go. In this section of the course, we'll cover the following:

  • How to allow users to purchase a single product

  • How to allow users to purchase a recurring monthly subscription (a Stripe Plan)

  • How to handle cancellations and refunds

  • How to save all transaction information to a database (for refunds, reporting, etc).

  • How to refund a transaction

  • How to cancel a subscription

  • How to secure access to the front end (via session authentication)

  • How to secure access to the back end API (using stateful tokens)

  • How to manage users (add/edit/delete)

  • How to allow users to reset their passwords safely and securely

  • How to log a user out and cancel their account instantly, over websockets

Once this is complete, we'll start work on the microservice. A microservice is a particular approach to software development that has the basic premise of building very small applications that do one thing, but do it very well. A microservice does not care in the slightest about what application calls it; it is completely separate, and completely agnostic. We'll build a microserivce that does the following:

  • Accepts a JSON payload describing an individual purchase

  • Produces a PDF invoice with information from the JSON payload

  • Creates an email to the customer, and attaches the PDF to it

  • Sends the email

All of these components (front end, back end, and microservice) will be built using a single code base that produces  multiple binaries, using Gnu Make.



icon
Udemy Discount

The discount is applied through our link. Open the course from here and Udemy's current promotional price is applied at checkout on most courses, no code to type.

Some courses are excluded from Udemy's promotions. If the price does not drop, clear your browser cookies and use the button again.

icon
Instructor Details

Trevor Sawler

I have twenty years of experience in professional software development, and twenty years of experience as a University professor.

As an entrepreneur, I have worked with a broad range of clients, including Thomson Nelson, Hewlett Packard, the Royal Bank of Canada, Keybank, Sprint, and many, many others. I also have extensive management and project management experience. I have led teams of fifty developers and artists on multi-million dollar projects, and much smaller teams on much smaller projects.

As a professor, I have taught in a wide variety of course areas, including Computer Science, English, Irish, and American literature, and a number of "crossover" courses that bridge the liberal arts and technological fields.

I have won regional, national, and international awards for my work in the IT field, and have also won awards for my teaching and research as a University professor.

icon
More courses by Trevor Sawler

$84.99

$89.99

$79.99

$84.99

$84.99

$64.99

icon
More Web Development courses

$19.99

$19.99

$19.99

$89.99

$79.99

$69.99

icon
Reviews

4.8

597 ratings on Udemy

Select a bar to show only those reviews.Select the bar again to show every rating.

By William Tran on 1/23/2024

This course was pretty good at explaining what was necessary to integrate stripe with Go. The course could be better by focusing more in depth of other features of an ecommerce site such as a shopping cart perhaps for purchasing multiple items. Also, a more realistic approach to the stripe integration between customers. For instance, in this course, each submittal is considered a new customer but should also take into consideration of returning customer who is logged in.

By Alibek Suleimenov on 1/18/2024

The course was excellent – incredibly informative, well-structured, and full of valuable insights. I found the content to be highly relevant and the explanations clear. The practical examples were particularly helpful, and I really enjoyed the interactive nature of the exercises. Overall, a great learning experience!

By Armando Leon on 3/9/2023

This is a great course to get your feet wet. The instructor doesn't really go into depth of the topics, which I don't mind. Pretty much, as you're going through this course, don't passively write the code. Instead, think about the code you're writing. If you come across something new, let your curiosity take control and learn about the underlying topic you see in a video. This course is great exposure to many topics and you can dive deeper into more of them. And, something I wish I did was journal the about the topics covered, but I'll do that later and I'll use this course as reference or something to look back on when I need a refresher on certain topics.

By Anonymized User on 12/5/2022

Very clear and thorough. Really glad I did this course. Even having a lot of experience, I still learned a ton of tricks since web dev is not more normal world. With this said, there was 1 topic that I think was more for illustration but I find that it is a bad practice. Deleting records such as users where there could be a number of relationships to that user will orphan data. Just something to be aware of and again, I believe it is more just to illustrate the task and ways to handle things. All in all, great course and looking forward to some of the already existing course and hopefully the new courses to come.

By Peter Barrett on 3/30/2022

This is the fifth of Trevor Sawler's courses I've completed and the second concerning Go. I get on really well with the teaching style, it just works and I think it's because it's so much like the way I work too. It may not be for everybody but it's basically like thinking out loud, so you get to see all the mistakes as they happen, warts and all, then get rectified... it makes the experience real and not sanitised like some other courses I've tried. I don't mind saying at all, that given the experience I've had so far with Trevor's courses, when he produces a new one, I'm very likely to do it.

By Lee Trent on 3/7/2022

This course greatly exceeded my expectations. I learned how to build an e-commerce application using Stripe credit card processing, user authentication, API authentication, email notifications, pagination and PDF generation using a microservice. I also learned how to use a makefile to build, run and stop both the web and API applications. Course content is outstanding and well supported by the instructor. The best part about this course is that "everything just works". I highly recommend this course if you enjoy "coding along" and you're interested in developing a complete e-commerce application using Go.

By Sopho Merkviladze on 2/10/2022

The course was very interesting and versatile, covering the details that were interesting and important to me! One thing that was strange to me was the method of creating the REST API (The author mostly used POST requests where I think it would have been more justified to use GET, DELETE or PUT requests). Overall, I am very satisfied with the content of the course and the technologies used! Thank you!

By a t on 2/9/2022

It was a really great course. I learned a lot. If possible, I want to deploy microservices to Linode or AWS using Docker and Kubernetes, so please create a new course. I want to get a deeper knowledge of microservices using Golang and Kubernetes. I am looking forward to the next new course. Anyway, I want to say thank you!

By Kouhei Yamamoto on 11/26/2021

We can learn a lot of knowledge from this excellent course. This course contains modern technologies and smart coding techniques. And these are explained easy to understand by great experienced of instructor. Furthermore, it is not only Golang. I've learned effectively with enjoyment by doing to code systematically. There is no reason not to take this course for person who wants to level up to the next Golang stage. But notice that you need to had learned basic Golang syntax in advance.

By Hugo Conde on 10/10/2021

Great course. I really enjoy Trevor's teaching his courses. I wish he can continue expanding on areas where there are multiple ways to implement a feature. For example: "Authentication" JWT vs Private Tokens vs Oath. Or "Data Storage" SQL vs NoSQL. It would be nice to have code samples on how to implement some of these technologies. Overall, excellent class!

Showing all 10 reviews on CourseDuck

Read all 597 reviews on Udemy