Links
- RubyGems.org → https://rubygems.org/gems/task_tracker_cli
- GitHub Repo → https://github.com/sulmanweb/task_tracker_cli
- Roadmap.sh Task → https://roadmap.sh/projects/task-tracker
- My Solution for UpVotes → https://roadmap.sh/projects/task-tracker/solutions?u=67124acb791f57dd60b7e0e4
As part of my ongoing journey to improve my skills as a developer, I decided to work on a portfolio project that could challenge me while solving a practical problem. The project requirements were shared on roadmap.sh, and it immediately struck me as an ideal opportunity to create something versatile—a command-line tool for tracking tasks. Naturally, I chose Ruby for its simplicity and flexibility, and what began as a simple idea soon led me to publish my first Ruby gem!
The Idea: A Command-Line Task Tracker
The project I picked from roadmap.sh was a task-tracking tool that could easily record, update, and delete tasks from the command line. I have always loved command-line utilities—there's something empowering about typing commands and getting instant feedback. So, I wanted to build a tool that not only met the project requirements but also provided a clean and seamless experience for command-line enthusiasts like myself.
Creating the Gem: task_tracker_cli
After some initial tinkering, I realized I wanted this task tracker to be more accessible and easy to use, not only for myself but for anyone who might find it useful. That's when I decided to go the extra mile and turn the tool into a Ruby gem: task_tracker_cli.
The result? A simple installation process with gem install task_tracker_cli
, and you're ready to start organizing your tasks right from the terminal!
Example Usage
Here is an example of how to use the tool:
# Install the gem and everything is ready to go
gem install task_tracker_cli
# Adding a new task
task-cli add "Buy groceries"
# Output: Task added successfully (ID: 1)
# Updating and deleting tasks
task-cli update 1 "Buy groceries and cook dinner"
task-cli delete 1
# Marking a task as in progress or done
task-cli mark-in-progress 1
task-cli mark-done 1
# Listing all tasks
task-cli list
# Listing tasks by status
task-cli list done
task-cli list todo
task-cli list in-progress
# Uninstall the gem
gem uninstall task_tracker_cli
You can also find more usage examples in the README of the repository and on roadmap.sh.
Why Turn It into a Gem?
Creating a gem was not originally part of the plan, but as I kept working, I realized that this was a perfect opportunity to package my work in a way that others could easily use, contribute to, and learn from. Gems are essentially Ruby's way of packaging libraries or tools, which means anyone can install it, use it, or even tweak it to their needs. By publishing it, I also learned the whole process of how to create, build, and publish a gem—skills that will undoubtedly be useful in my future development work.
Want to Try It?
If you're interested in giving this tool a try, you can find the gem on RubyGems.org, and the source code is available on GitHub. Feel free to explore, fork, or even contribute to the project! Also, don't forget to star the repo 🙏
Supporting the Project
This project was created as part of a community challenge on roadmap.sh. I'd greatly appreciate your support! You can check out my solution and upvote it on the task tracker solution page 🙏. Your upvotes would mean a lot to me and encourage me to create even more helpful projects.
If you're on your own learning journey, I highly recommend joining roadmap.sh and checking out some of the projects there. It's a great way to level up your skills, share your work, and get feedback from an engaged community of learners and developers.
Conclusion
Creating this task tracker CLI tool was an incredibly enriching experience for me. I not only got to dive deep into Ruby and explore gem creation, but I also created a tool that could genuinely help others stay organized and productive. I hope you'll find it useful, and I'd love to hear any feedback or suggestions you may have.
Happy coding, and keep building awesome stuff!
Originally published at https://sulmanweb.com.
Top comments (0)