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
Dominic St-Pierre is a Canadian Go developer and founder of Staticbackend.com, a self-hosted backend-as-a-service. He publishes long-form Go tutorials focused on the practical side of building back-end services in Go, often working with PostgreSQL and the systems-engineering patterns the language is designed for.
His CourseFlix listing carries two Dominic St-Pierre courses on Go and back-end development. Material is paid and aimed at engineers building production Go services.
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 subscriptionRelated courses
-
Updated 2y agoLearn How To Code: Google's Go (golang) Programming Language
By: UdemyThis course is the ultimate comprehensive resource for learning the Go Programming Language. This course is perfect for both beginners and experienced developer45h 27m -
Updated 2y agoGo Programming (Golang): The Complete Developer's Guide
By: Zero To MasteryLearn Golang from scratch, from an industry expert. Build real-world apps. You'll learn the fundamentals all the way to advanced concurrency so that you go from13h 10m -
Updated 2y agoFoundations of Debugging for Golang
By: ByteSizeGo, Matt BoyleEnhance your debugging skills with Golang! Debugging is an essential skill that many people are never formally taught.
Frequently asked questions
What are the prerequisites for enrolling in this course?
This course assumes familiarity with Go's standard library for building web applications. It is recommended that students have completed the 'Build SaaS apps in Go' course. This background will help in understanding the concepts covered, such as API design, data structures, and server configuration.
What will I build during this course?
Students will build a Google Analytics-like application using Go. The course covers setting up the project, designing the API, tracking page views, handling data with Docker, and displaying metrics on a dashboard. The application also includes features such as data normalization and the integration of ClickHouse for database operations.
Who is the target audience for this course?
The course is aimed at developers who are already familiar with Go and are interested in building analytics tools or enhancing their skills in web application development using Go. It is particularly useful for those who want to learn about integrating databases like ClickHouse for handling large datasets.
What specific tools or platforms are used in this course?
The course utilizes Go for application development, Docker for testing and managing data, and ClickHouse for database operations. These tools are integral to the course, as they enable the handling of large datasets and efficient data processing.
What is not covered in this course?
The course does not cover basic Go programming. It assumes that students are already comfortable with Go's standard library and focuses instead on building and scaling an analytics application. It also does not delve into front-end development outside of the dashboard configuration.
How much time should I expect to commit to this course?
The course consists of 32 lessons. While the total runtime is not specified, students should allocate time for both the theoretical lessons and practical coding exercises, such as setting up the project, testing with Docker, and implementing database features.
How can the knowledge from this course be applied to other areas or careers?
The skills learned in this course, such as API design, data handling with ClickHouse, and Docker usage, are valuable for careers in backend development, data analysis, and software engineering. These skills can be transferred to projects involving analytics, large-scale data processing, and building scalable web applications.