explaingit

kamilogorek/codecrafters-redis-elixir

Analysis updated 2026-07-26 · repo last pushed 2024-12-13

ElixirAudience · developerComplexity · 3/5StaleSetup · moderate

TLDR

A starter template for a guided coding challenge where you build a simplified Redis-like in-memory database server using Elixir, learning how fast data stores work under the hood.

Mindmap

mindmap
  root((repo))
    What it does
      Build a Redis clone
      Handles PING SET GET
      Stores data in memory
    How it works
      Push to GitHub to test
      Automated test results
      Single core file
    Tech stack
      Elixir
      Mix build tool
    Audience
      Backend developers
      Elixir learners
    Use cases
      Learn database internals
      Practice Elixir
      Understand Redis protocol

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

Build a simplified Redis server that responds to PING, SET, and GET commands.

USE CASE 2

Learn how in-memory databases work by implementing one from scratch.

USE CASE 3

Practice Elixir by writing server logic and handling network connections.

USE CASE 4

Understand the Redis communication protocol through hands-on implementation.

What is it built with?

ElixirMix

How does it compare?

kamilogorek/codecrafters-redis-elixiraxio-intelligence/squatch-mailcamilotk/booking
Stars0
LanguageElixirElixirElixir
Last pushed2024-12-132023-08-23
MaintenanceStaleDormant
Setup difficultymoderatemoderateeasy
Complexity3/53/51/5
Audiencedeveloperdeveloperdeveloper

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

How do you get it running?

Difficulty · moderate Time to first run · 30min

Requires signing up on the Codecrafters website for full instructions and a local installation of Mix, the Elixir build tool.

No license information is provided in this repository, so usage rights are unspecified.

In plain English

This repo is a starter template for an interactive coding challenge where you build a simplified version of Redis, the popular in-memory data store. Redis is essentially a lightning-fast database that keeps information in a computer's memory rather than on a hard drive. By working through this project, you get hands-on experience building a tool that can store and retrieve data using basic commands like PING, SET, and GET. The template gives you the basic scaffolding to start writing your own server using the Elixir programming language. The core logic lives in a single file, and as you progress through the challenge, you fill in the missing pieces to make the server function. When you are ready to test your work, you simply push your code to GitHub. This triggers an automated system that runs tests against your server and streams the results directly back to your terminal, letting you know if you successfully completed that stage. This project is designed for developers who are learning how databases work under the hood or those who want to practice Elixir. It is part of a guided learning platform called Codecrafters, which walks you through building complex software step by step. For example, if you are a backend developer wanting to understand the Redis communication protocol or how event loops handle multiple connections, this challenge gives you a structured way to learn by actually building the thing itself. The README is intentionally sparse because it is just the entry point for a larger interactive course. To actually use this repository, you need to sign up on the Codecrafters website, which provides the full instructions and test suite for each stage. You will also need a local installation of Mix, the build tool for Elixir, to run and test your server on your own machine before submitting it.

Copy-paste prompts

Prompt 1
I am working through the Codecrafters Redis challenge in Elixir. Help me implement a PING command handler in my server that returns PONG when no argument is given and echoes the argument when one is provided.
Prompt 2
I am building a Redis clone in Elixir for a Codecrafters challenge. Help me implement the SET and GET commands so I can store a key-value pair in memory and retrieve it later.
Prompt 3
I am stuck on the Codecrafters Redis Elixir challenge where my server needs to parse the Redis serialization protocol. Help me write a parser that reads incoming RESP commands from a TCP client.
Prompt 4
I am doing the Codecrafters Redis challenge in Elixir and my tests are failing when I push to GitHub. Here is my server code and the test output, help me figure out what is wrong.

Frequently asked questions

What is codecrafters-redis-elixir?

A starter template for a guided coding challenge where you build a simplified Redis-like in-memory database server using Elixir, learning how fast data stores work under the hood.

What language is codecrafters-redis-elixir written in?

Mainly Elixir. The stack also includes Elixir, Mix.

Is codecrafters-redis-elixir actively maintained?

Stale — no commits in 1-2 years (last push 2024-12-13).

What license does codecrafters-redis-elixir use?

No license information is provided in this repository, so usage rights are unspecified.

How hard is codecrafters-redis-elixir to set up?

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

Who is codecrafters-redis-elixir for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.