geektutu/7days-golang

7 days golang programs from scratch (web framework Gee, distributed cache GeeCache, object relational mapping ORM framework GeeORM, rpc framework GeeRPC...

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 13 minutes ago
Added to GitGenius on September 5th, 2026
Created on August 10th, 2019
Open Issues & Pull Requests: 51 (+0)
GitHub issues: Enabled
Number of forks: 2,578
Total Stargazers: 16,993 (+0)
Total Subscribers: 235 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 11.7 hours
Mean response time: 45.2 days
90th percentile: 114.2 days
Tracked items: 5

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 4
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 1,191 days
Stale 30+ days: 4
Stale 90+ days: 4

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

No label distribution available yet.

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

7days-golang is a learning resource that teaches Go programming by building implementations of popular libraries from scratch over seven-day periods.

The repository addresses the challenge of understanding how widely-used Go systems work internally by providing step-by-step implementations of four major components: a web framework modeled after Gin, a distributed cache system modeled after groupcache, an ORM framework drawing from gorm and xorm, and an RPC framework. Each component is broken into daily lessons with accompanying code, allowing developers to see how features like routing, middleware, caching strategies, and database abstraction are constructed incrementally.

This resource suits developers who want to deepen their Go knowledge through hands-on implementation rather than just using existing libraries. It works best for those preparing for technical interviews, seeking to understand system design patterns, or aiming to write higher-performance Go code. The project explicitly recommends prerequisite reading on Go fundamentals, concurrency, and dependency management before diving into the implementations. The web framework Gee mimics Gin's design, the cache system GeeCache follows groupcache's distributed approach, and the ORM GeeORM combines interface patterns from both gorm and xorm, with the README noting that xorm's design is more straightforward to understand than gorm-v1.

The project maintains a structured, tutorial-focused approach with each implementation divided into clearly delineated daily stages, each with its own code directory and accompanying written explanation. Development appears oriented toward educational completeness, with the repository serving as a companion to broader Go learning materials rather than as a production-ready library.