{"id":13626110,"url":"https://github.com/LukeMathWalker/build-your-own-jira-with-rust","last_synced_at":"2025-04-16T11:31:16.388Z","repository":{"id":40350398,"uuid":"236940180","full_name":"LukeMathWalker/build-your-own-jira-with-rust","owner":"LukeMathWalker","description":"A test-driven workshop to learn Rust building your own JIRA clone!","archived":false,"fork":false,"pushed_at":"2023-08-01T21:26:28.000Z","size":151,"stargazers_count":965,"open_issues_count":4,"forks_count":117,"subscribers_count":19,"default_branch":"main","last_synced_at":"2025-04-14T01:39:38.643Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/LukeMathWalker.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2020-01-29T08:56:16.000Z","updated_at":"2025-04-04T08:59:31.000Z","dependencies_parsed_at":"2024-01-07T21:04:50.726Z","dependency_job_id":null,"html_url":"https://github.com/LukeMathWalker/build-your-own-jira-with-rust","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LukeMathWalker%2Fbuild-your-own-jira-with-rust","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LukeMathWalker%2Fbuild-your-own-jira-with-rust/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LukeMathWalker%2Fbuild-your-own-jira-with-rust/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LukeMathWalker%2Fbuild-your-own-jira-with-rust/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LukeMathWalker","download_url":"https://codeload.github.com/LukeMathWalker/build-your-own-jira-with-rust/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249235050,"owners_count":21235137,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-01T21:02:10.250Z","updated_at":"2025-04-16T11:31:16.040Z","avatar_url":"https://github.com/LukeMathWalker.png","language":"Rust","funding_links":[],"categories":["Rust"],"sub_categories":[],"readme":"# Build your own JIRA with Rust\n\nYou will be working through a series of test-driven exercises, or koans, to learn Rust while building your own JIRA clone!\n\nThis workshop is designed for people who have experience using other programming languages and are just getting\nstarted with Rust.  \nIf you run into any issue with the assumed level of Rust knowledge, please ping us and we'll sort it together!\n\n## Requirements\n\n- **Rust** (follow instructions [here](https://www.rust-lang.org/tools/install)).  \n    If Rust is already installed on your system, make sure you are running on the latest compiler version (`cargo --version`).  \n    If not, update using `rustup update` (or another appropriate command depending on how you installed Rust on your system).\n- _(Optional)_ An IDE with Rust autocompletion support. \n    We recommend one of the following:\n    - [IntelliJ IDEA](https://www.jetbrains.com/idea/) with the [`intellij-rust`](https://intellij-rust.github.io) plugin;\n    - [Visual Studio Code](https://code.visualstudio.com) with the [`rust-analyzer`](https://marketplace.visualstudio.com/items?itemName=matklad.rust-analyzer) extension.  \n        Checkout the [`rust-in-peace`](https://marketplace.visualstudio.com/items?itemName=gilescope.rust-in-peace) extension for a battery-included Rust setup on VS Code.\n  \n## Getting started \n\n```bash\ngit clone git@github.com:LukeMathWalker/build-your-own-jira-with-rust.git\ncd build-your-own-jira-with-rust\n\n# Our `koans` CLI, you will need it to work through the exercises. \n# You can run `koans --help` to check that everything is running properly\ncargo install -f --path koans-framework\n\n# Work on your solution in a branch. \ngit checkout -b my-solution\n\n# Get started!\nkoans --path jira-wip\n```\n\nFollow the instructions shown in the terminal to get started with the first koan.\n\nRun this command from the top-level folder\n```bash\nkoans --path jira-wip\n```\nto verify your current solutions and move forward in the workshop.\n\nEnjoy!\n\n## References\n\nThroughout the workshop, the following resources might turn out to be useful:\n\n* [Rust Book](https://doc.rust-lang.org/book/)\n* [Rust documentation](https://doc.rust-lang.org/std/) (you can also open the documentation offline with `rustup doc`!)\n\n\n## Solutions\n\nUnder `jira-cli`, you can find a worked-out solution.\n\nYou can build it running:\n```bash\ncargo build --bin jira-cli\n```\n\nYou can try it out running:\n```bash\ncargo run --bin jira-cli -- --help\n```\n\nYou can run its tests running:\n```bash\ncargo test --bin jira-cli\n```\n\nYou can browse its documentation with:\n```bash\n# We rely on the nightly compiler for automatic semantic link generation\ncargo +nightly doc --manifest-path jira-cli/Cargo.toml --open\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FLukeMathWalker%2Fbuild-your-own-jira-with-rust","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FLukeMathWalker%2Fbuild-your-own-jira-with-rust","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FLukeMathWalker%2Fbuild-your-own-jira-with-rust/lists"}