├── implement-rougedb-cover.png ├── .gitignore └── README.md /implement-rougedb-cover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/accelerant-dev/implement-rougedb/HEAD/implement-rougedb-cover.png -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Generated by Cargo 2 | # will have compiled files and executables 3 | debug/ 4 | target/ 5 | 6 | # Remove Cargo.lock from gitignore if creating an executable, leave it for libraries 7 | # More information here https://doc.rust-lang.org/cargo/guide/cargo-toml-vs-cargo-lock.html 8 | Cargo.lock 9 | 10 | # These are backup files generated by rustfmt 11 | **/*.rs.bk 12 | 13 | # MSVC Windows builds of rustc generate these, which store debugging information 14 | *.pdb 15 | 16 | # Editor config 17 | .vscode/ 18 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # implement-rougedb 2 | 3 | Code for the course **Implement RougeDB: A Redis clone from outer space written 4 | in Rust**. 5 | 6 | [![](implement-rougedb-cover.png)](https://learning.accelerant.dev/implement-rougedb) 7 | 8 | ## How to use this repository 9 | 10 | Each module of the course is synchronized with a different branch of the repository. 11 | 12 | | Lesson | Branch | Description | 13 | |-------------------------|-----------------------------|-------------| 14 | | [Setting Up] | [`part-1-01-setup`] | Send PING to a Redis server bound to `localhost:6379` | 15 | | [Adding command-line arguments to the client] | [`part-1-02-conf`] | As above, but with a configuration object | 16 | | [Accepting multiple commands] | [`part-1-03-multiple-cmds`] | Allow users to send command of their choice. | 17 | | _under development_ | [`part-1-04-add-host`] | Allow users to define where to connect to. | 18 | | _under development_ | [`part-1-05-usage`] | Provide a usage message if malformed arguments are provided. | 19 | | _under development_ | [`part-1-06-stdin`] | Enable non-UTF8 data to be submitted and to read from stdin. | 20 | 21 | [Setting Up]: https://learning.accelerant.dev/view/courses/implement-rougedb/1997446-parsing-commands-v1/6392393-setting-up 22 | [Adding command-line arguments to the client]: https://learning.accelerant.dev/view/courses/implement-rougedb/1997446-parsing-commands-v1/6411327-adding-command-line-arguments-to-the-client 23 | [Accepting multiple commands]: https://learning.accelerant.dev/view/courses/implement-rougedb/1997446-parsing-commands-v1/6411966-accepting-multiple-commands 24 | [`part-1-01-setup`]: https://github.com/accelerant-dev/implement-rougedb/tree/part-1-01-setup 25 | [`part-1-02-conf`]: https://github.com/accelerant-dev/implement-rougedb/tree/part1-02-conf 26 | [`part-1-03-multiple-cmds`]: https://github.com/accelerant-dev/implement-rougedb/tree/part1-03-multiple-cmds 27 | [`part-1-04-add-host`]: https://github.com/accelerant-dev/implement-rougedb/tree/part-1-04-add-host 28 | [`part-1-05-usage`]: https://github.com/accelerant-dev/implement-rougedb/tree/part-1-05-usage 29 | [`part-1-06-stdin`]: https://github.com/accelerant-dev/implement-rougedb/tree/part-1-06-stdin 30 | --------------------------------------------------------------------------------