/build-your-own-jira-with-rust

A test-driven workshop to learn Rust building your own JIRA clone!

Primary LanguageRustMIT LicenseMIT

Build your own JIRA with Rust

You will be working through a series of test-driven exercises, or koans, to learn Rust while building your own JIRA clone!

This workshop is designed for people who have experience using other programming languages and are just getting started with Rust.
If you run into any issue with the assumed level of Rust knowledge, please ping us and we'll sort it together!

Requirements

  • Rust (follow instructions here).
    If Rust is already installed on your system, make sure you are running on the latest compiler version (cargo --version).
    If not, update using rustup update (or another appropriate command depending on how you installed Rust on your system).
  • (Optional) An IDE with Rust autocompletion support. We recommend one of the following:

Getting started

git clone git@github.com:LukeMathWalker/build-your-own-jira-with-rust.git
cd build-your-own-jira-with-rust

# Our `koans` CLI, you will need it to work through the exercises. 
# You can run `koans --help` to check that everything is running properly
cargo install -f --path koans-framework

# Work on your solution in a branch. 
git checkout -b my-solution

# Get started!
koans --path jira-wip

Follow the instructions shown in the terminal to get started with the first koan.

Run this command from the top-level folder

koans --path jira-wip

to verify your current solutions and move forward in the workshop.

Enjoy!

References

Throughout the workshop, the following resources might turn out to be useful:

Solutions

Under jira-cli, you can find a worked-out solution.

You can build it running:

cargo build --bin jira-cli

You can try it out running:

cargo run --bin jira-cli -- --help

You can run its tests running:

cargo test --bin jira-cli

You can browse its documentation with:

# We rely on the nightly compiler for automatic semantic link generation
cargo +nightly doc --manifest-path jira-cli/Cargo.toml --open