Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/daniel-boll/build-your-own-x-in-y

A collection of system-level projects like HTTP servers, Redis, SQLite, and more, implemented in Rust and Go. Each project is tracked with progress indicators and organized by language-specific branches.
https://github.com/daniel-boll/build-your-own-x-in-y

Last synced: about 17 hours ago
JSON representation

A collection of system-level projects like HTTP servers, Redis, SQLite, and more, implemented in Rust and Go. Each project is tracked with progress indicators and organized by language-specific branches.

Awesome Lists containing this project

README

        

Build Your Own X in Y

This repository is dedicated to showcasing solutions to common system-level problems, implemented in Rust, Go and Zig. Each problem will eventually have solutions written in more languages, with links provided to the respective branches.

## Problems and Languages

| Problem | [![Rust logo](https://skillicons.dev/icons?i=rust)](https://www.rust-lang.org/) | [![Golang logo](https://skillicons.dev/icons?i=go)](https://go.dev/) | [![ZIG logo](https://skillicons.dev/icons?i=zig)](https://ziglang.org/) |
|-----------------------------|------|-----|-----|
| Build your own HTTP server | | [11/11 Stages](https://github.com/Daniel-Boll/build-your-own-x-in-y/tree/http-server-go) | |
| Build your own Redis | | | |
| Build your own SQLite | [2/9 Stages](https://github.com/Daniel-Boll/build-your-own-x-in-y/tree/sqlite-rust) | | |
| Build your own Interpreter | | | |
| Build your own Shell | | | |
| Build your own Git | | | |
| Build your own DNS server | | | |
| Build your own grep | | | |
| Build your own BitTorrent | | | |
| Build your own Kafka | | | [4/19 Stages](https://github.com/Daniel-Boll/build-your-own-x-in-y/tree/bittorrent-zig) |

## How It Works

Each problem listed above will have a solution in both Rust and Go, with each solution stored in its respective branch. As solutions are implemented, links to the branches containing the code will be added to the table.

To check out a solution, simply click on the link for the language of your choice.

## Contributing

If you'd like to contribute, feel free to submit a pull request with your solution or improvements to an existing one!