explaingit

geektutu/7days-golang

Analysis updated 2026-06-24

16,903GoAudience · developerComplexity · 3/5LicenseSetup · easy

TLDR

Four step-by-step Go tutorials that rebuild a web framework, distributed cache, ORM, and RPC framework from scratch, each in seven days.

Mindmap

mindmap
    root((7days-golang))
      Inputs
        Daily lesson code
        Go modules
      Outputs
        Gee web framework
        GeeCache distributed cache
        GeeORM database tool
        GeeRPC remote calls
      Use Cases
        Learn Go by rebuilding tools
        Understand framework internals
        Reference implementations
      Tech Stack
        Go
        WebAssembly
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Learn Go by rebuilding a web framework like Gin from scratch

USE CASE 2

Understand how a distributed cache like groupcache works internally

USE CASE 3

Study a minimal ORM and RPC framework before reading larger Go codebases

What is it built with?

GoWebAssembly

How does it compare?

geektutu/7days-golangwtfutil/wtfnetflix/chaosmonkey
Stars16,90316,90316,886
LanguageGoGoGo
Setup difficultyeasymoderatehard
Complexity3/52/54/5
Audiencedeveloperops devopsops devops

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 30min

Most lessons run with just go run on a modern Go toolchain, no extra services required.

Use freely for any purpose, including commercial use, as long as you keep the copyright notice.

In plain English

7days-golang is a collection of educational Go programming projects, each designed to be built from scratch in seven days. The idea is to teach how real-world backend tools work by having you build simplified versions of them yourself, one day at a time, step by step. The repo contains four main mini-projects. Gee is a web framework (software that handles incoming web requests and routes them to the right code), built to teach how web routing, middleware, code that runs between a request and a response, and HTML templates work. GeeCache is a distributed cache, meaning a system that stores frequently accessed data across multiple machines to speed things up. GeeORM is an ORM (Object-Relational Mapping) framework, which is a tool that lets you work with a database using code objects instead of writing raw database queries. GeeRPC is an RPC (Remote Procedure Call) framework, which is a system for one program to call functions that run on a different computer over a network. The repo also includes WebAssembly demos. All four projects are written in Go, a programming language developed by Google that is popular for backend services. The course is structured so that each day builds on the last, making it easy to follow even if you are new to Go or to the concepts involved. You would use this if you are learning Go and want to understand how common backend tools actually work under the hood, rather than just using pre-made libraries.

Copy-paste prompts

Prompt 1
Walk me through day 1 of the Gee web framework and explain the router data structure
Prompt 2
Compare GeeCache to groupcache and explain which design choices were simplified
Prompt 3
Use the GeeORM lessons as a template and add support for SQLite migrations
Prompt 4
Build a tiny chat service using GeeRPC and explain each network call as I go

Frequently asked questions

What is 7days-golang?

Four step-by-step Go tutorials that rebuild a web framework, distributed cache, ORM, and RPC framework from scratch, each in seven days.

What language is 7days-golang written in?

Mainly Go. The stack also includes Go, WebAssembly.

What license does 7days-golang use?

Use freely for any purpose, including commercial use, as long as you keep the copyright notice.

How hard is 7days-golang to set up?

Setup difficulty is rated easy, with roughly 30min to a first successful run.

Who is 7days-golang for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Scan in gitsafehub Deploy in gitdeployhub geektutu on gitmyhub

Verify against the repo before relying on details.