This course assumes you've taken my Build SaaS apps in Go course or are familiar with Go's standard library for building web applications.
Build a Google Analytics in Go
7h 18m 48s
English
Paid
We cover the following aspects:
- The client-side tracker.
- The Go backend API.
- Geo-localization from an IP address.
- Storing the data into PostgreSQL.
- Using Docker to improve your developer's life.
- Generating traffic and testing the performance of our system.
- Optimizing the DB, table, and queries.
- Using ClickHouse to handle 100x the volume of our database.
- Building a CLI dashboard.
- Deploying our approach to a VM.
About the Author: Dominic St-Pierre
Hi, I'm Dominic St-Pierre. I write about software engineering. I'm a polyglot programmer, but have a huge preference for Go. I'm the host of go podcast() and co-host of The SaaS Marathon podcasts. I published a book / course in 2018 named Build SaaS apps in Go.
Watch Online 32 lessons
0:00
/ #1: Course intro
All Course Lessons (32)
| # | Lesson Title | Duration | Access |
|---|---|---|---|
| 1 | Course intro Demo | 03:19 | |
| 2 | What we need | 09:27 | |
| 3 | Setup project | 11:38 | |
| 4 | Tracker class | 16:23 | |
| 5 | Track page views | 13:09 | |
| 6 | Handle missing data | 16:24 | |
| 7 | API design | 03:19 | |
| 8 | Track handler | 10:02 | |
| 9 | Decode data | 15:27 | |
| 10 | Data structure | 20:29 | |
| 11 | Use Docker to test | 27:56 | |
| 12 | Architecture design | 03:12 | |
| 13 | Run the project | 16:26 | |
| 14 | Call from API | 12:18 | |
| 15 | Fill database | 04:19 | |
| 16 | Generate 15M rows | 14:24 | |
| 17 | Import the data | 15:41 | |
| 18 | The problem | 14:12 | |
| 19 | Let's normalize | 16:30 | |
| 20 | This sucks! | 09:57 | |
| 21 | ClickHouse | 10:34 | |
| 22 | Is it faster than PG | 12:30 | |
| 23 | Swap PG for ClickHouse | 14:18 | |
| 24 | Queue and batch inserts | 27:24 | |
| 25 | Adding referrer domain | 03:05 | |
| 26 | Proof of concept | 18:35 | |
| 27 | Refactor and display metrics | 19:18 | |
| 28 | Dashboard v1 | 26:46 | |
| 29 | Add configuration | 11:21 | |
| 30 | API authentication | 08:45 | |
| 31 | Servers config setup | 23:31 | |
| 32 | Dashboard config | 08:09 |
Unlock unlimited learning
Get instant access to all 31 lessons in this course, plus thousands of other premium courses. One subscription, unlimited knowledge.
Learn more about subscription