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
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
Quality Score
No CourseDuck member has rated this course yet. Taken it? Give each part a thumbs up or down.
Overall Score : 96 / 100
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.
Instructor Details
- 4.8 Rating
597 Reviews
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.
More courses by Trevor Sawler
Building Modern Web Applications with Go (Golang) (2022)
4.6 (5,848 Reviews)
Provider: Udemy
Time: 29.6h
$84.99
Working with Microservices in Go (Golang) (2024)
4.6 (3,184 Reviews)
Provider: Udemy
Time: 11.6h
$89.99
Working with Concurrency in Go (Golang) (2024)
4.7 (1,862 Reviews)
Provider: Udemy
Time: 9.7h
$79.99
More Web Development courses
Python Fullstack Mastery: Build Modern Web Apps with Django (2025)
5.0 (165 Reviews)
Provider: Udemy
Time: 35h
$19.99
Nuxt.js Masterclass: Build Fast, SEO-Friendly Vue Apps (2026)
5.0 (38 Reviews)
Provider: Udemy
Time: 1.5h
$19.99
NgRx Signal store for Angular - The missing guide (2026)
4.9 (436 Reviews)
Provider: Udemy
Time: 11.3h
$89.99
Vue 3: Create a Mobile & Desktop App (with Quasar 2 & Pinia) (2024)
4.9 (177 Reviews)
Provider: Udemy
Time: 7.6h
$79.99
Laravel 11 - Making a Complete Travel Agency Website (2026)
4.9 (92 Reviews)
Provider: Udemy
Time: 25.9h
$69.99
Reviews
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!












