Udemy

Building Web Applications with Go - Intermediate Level

立即報名
  • 9,562 名學生
  • 更新於 7/2025
4.8
(560 個評分)
CTgoodjobs 嚴選優質課程,為職場人士提升競爭力。透過本站連結購買Udemy課程,本站將獲得推廣佣金,有助未來提供更多實用進修課程資訊給讀者。

課程資料

報名日期
全年招生
課程級別
學習模式
修業期
18 小時 43 分鐘
教學語言
英語
授課導師
Trevor Sawler
評分
4.8
(560 個評分)
2次瀏覽

課程簡介

Building Web Applications with Go - Intermediate Level

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

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.



課程章節

  • 10 個章節
  • 173 堂課
  • 第 1 章 Introduction
  • 第 2 章 Setting up our environment
  • 第 3 章 Building a virtual credit card terminal
  • 第 4 章 Selling a product online
  • 第 5 章 Setting up and charging a recurring payment using Stripe Plans
  • 第 6 章 Authentication
  • 第 7 章 Protecting routes on the Front End and improving authentication
  • 第 8 章 Mail and Password Resets
  • 第 9 章 Building Admin pages to manage purchases
  • 第 10 章 Refunds

課程內容

  • 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

評價

  • T
    Tom L
    5.0

    Learn a lot from this instructor. I like his no-frills teaching style.

  • B
    Barouch Maxime
    4.0

    I enjoy following this course I would have like to see how to implement micro service with a service queue like kafka ... using go

  • A
    Ashparsh Pandey
    4.5

    Good but could be better! For example: There could be a bit of the discussion if using new or 3rd party packages, maybe a bit how does it work and better explanation, and also, some explanation about thought behind doing certain things.

  • E
    El h
    2.0

    There are numerous lessons where the code the instructor provides does not work, you have to skip ahead to other lessons to see a fix or read fixes posted by other students instead of the instructor making an amendment with the working code. How exactly is someone meant to follow along. There is a make script provided that does not work without you fixing it yourself. There is a lesson where the instructor shows there is a bug with the amount field and then writes a fix that could not possibly work because the function he calls does not take the arguments he passed it. The instructor then skips ahead without actually testing if he fixed the bug, which he did not but actually broke the entire page. Awful practice. This course is not a reflection of real world production go, there are too many bad practices. I would refund the course if I could. This course is so long and it would be much shorter if the instructor was not so careless. I do not recommend this course at all, there are much better tutorials on youtube.

立即關注瀏覽更多

本網站使用Cookies來改善您的瀏覽體驗,請確定您同意及接受我們的私隱政策使用條款才繼續瀏覽。

我已閱讀及同意