Skip to content

storious/systemlab

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

151 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SystemLab

Learn systems programming by building search engines, storage systems, caches, and distributed infrastructure from scratch.

Purpose CI Rust Go Zig License

Overview

SystemLab is a monorepo of independent systems programming projects.

Each project explores a core area of modern system software through incremental implementation, clean architecture, and practical experimentation.

The goal is not to build production-ready software, but to understand how real systems work by building them from scratch.

Projects

Project Language Focus
SearchRS Rust Search engine, inverted index, ranking, query processing
GDFS Go Distributed file system, metadata management, replication
ZigKV Zig In-memory key-value cache, memory management, TTL

Repository Structure

systemlab/
├── docs/
│   ├── architecture/
│   ├── adr/
│   └── ...
├── searchrs/
├── gdfs/
├── zigkv/
├── Makefile
├── ROADMAP.md
└── README.md

Design Principles

SystemLab follows a few simple principles:

  • Learn by building
  • Incremental implementation
  • Small and understandable codebases
  • Clean architecture
  • Well-documented design decisions
  • Independent but composable projects

Each project is designed to be useful on its own while remaining easy to integrate with other projects through well-defined interfaces.

Project Relationships

Projects evolve independently and may collaborate when appropriate.

                SystemLab
                    │
    ┌───────────────┼────────────────┐
    │               │                │
 SearchRS         GDFS            ZigKV
  (Rust)          (Go)            (Zig)
    │               │                │
 Search         Storage          Cache

One possible integration looks like:

          SearchRS
              │
     DocumentStore Interface
              │
   +----------+----------+
   |                     |
 LocalFS             Remote Storage
                        │
                       GDFS

          SearchRS
              │
      Document Cache
              │
            ZigKV

These integrations are optional rather than required. The projects remain independent learning projects with clearly defined responsibilities.

Documentation

  • ROADMAP.md — Overall learning roadmap
  • docs/ — Architecture, ADRs, and design notes
  • searchrs/README.md
  • gdfs/README.md
  • zigkv/README.md

Philosophy

Learn by building.

Instead of reproducing production systems feature by feature, SystemLab focuses on understanding fundamental ideas through clean implementations, comprehensive tests, and continuous refinement.

About

Learn systems programming by building search engines, storage systems, caches, and distributed infrastructure from scratch.

Topics

Resources

License

Stars

1 star

Watchers

0 watching

Forks

Packages

 
 
 

Contributors