{"id":19315246,"url":"https://github.com/calderonrigoberto/task-tracker-cli","last_synced_at":"2026-05-08T04:07:04.726Z","repository":{"id":261904761,"uuid":"885686018","full_name":"CalderonRigoberto/task-tracker-cli","owner":"CalderonRigoberto","description":"Task Tracker CLI: A Java-based command-line task manager using modern features (streams, records, var) and Jackson for JSON handling. Built while following roadmap.sh","archived":false,"fork":false,"pushed_at":"2024-11-09T06:01:37.000Z","size":18,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-28T19:21:11.355Z","etag":null,"topics":["cli","jackson","java","json","maven"],"latest_commit_sha":null,"homepage":"https://roadmap.sh/projects/task-tracker","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/CalderonRigoberto.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-11-09T05:45:32.000Z","updated_at":"2024-11-11T16:59:26.000Z","dependencies_parsed_at":"2024-11-09T06:29:18.682Z","dependency_job_id":"7e63fedd-f066-4201-bc17-479abf8eb28a","html_url":"https://github.com/CalderonRigoberto/task-tracker-cli","commit_stats":null,"previous_names":["calderonrigoberto/task-tracker-cli"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/CalderonRigoberto/task-tracker-cli","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CalderonRigoberto%2Ftask-tracker-cli","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CalderonRigoberto%2Ftask-tracker-cli/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CalderonRigoberto%2Ftask-tracker-cli/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CalderonRigoberto%2Ftask-tracker-cli/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CalderonRigoberto","download_url":"https://codeload.github.com/CalderonRigoberto/task-tracker-cli/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CalderonRigoberto%2Ftask-tracker-cli/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263719779,"owners_count":23501107,"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":["cli","jackson","java","json","maven"],"created_at":"2024-11-10T01:05:34.501Z","updated_at":"2026-05-08T04:07:02.903Z","avatar_url":"https://github.com/CalderonRigoberto.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Task Tracker CLI\n\nA command-line task tracking application built as part of my Java learning journey following the [roadmap.sh]([https://roadmap.sh](https://roadmap.sh/projects/task-tracker)) path. This project demonstrates practical implementation of modern Java features while helping others learn through real-world examples.\n\n## About This Project\n\nThis Task Tracker is a practical exercise in building command-line applications using Java, focusing on modern language features and clean code practices. It's part of a series of projects aimed at improving Java skills through hands-on experience.\n\n## Key Technologies \u0026 Concepts Used\n\n- **Modern Java Features**\n    - Records for immutable data structures\n    - Stream API for data processing\n    - Local variable type inference (var)\n    - Pattern Matching (Java 17+)\n\n- **Libraries**\n    - Jackson for JSON file handling\n        - JSON reading/writing\n        - Object mapping\n        - Data persistence\n\n- **Project Purpose**\n    - Practice modern Java features\n    - Learn file handling and data persistence\n    - Implement CLI interfaces\n    - Apply clean code principles\n\n## Learning Outcomes\n\nThrough this project, I practiced:\n- Building interactive CLI applications\n- Working with file systems using Java\n- Data persistence using JSON\n- Modern Java features in a real-world context\n- Command pattern implementation\n\n## Installation\n\nDetailed instructions for installing and running the Task Tracker CLI are available in the Getting Started section below.\n\n## Getting Started\n\n1. Ensure you have Java 17+ installed\n2. Clone the repository\n3. Build the project using Maven\n4. Add to your system's PATH for easy access\n\nExample:\n````shell\n# 1. Create bin directory if it doesn't exist\nmkdir -p ~/bin\n\n# 2. Create the executable script\nnano ~/bin/task-tracker\n\n# In the script, add:\n#!/bin/bash\n# If your project is on Linux:\njava -jar /path/to/your/project/target/task-tracker-cli-1.0-SNAPSHOT.jar \"$@\"\n\n# In my case, since the project is on Windows but I'm using it through WSL:\njava -jar /mnt/c/Users/example/Desktop/task-tracker-cli/target/task-tracker-cli-1.0-SNAPSHOT.jar \"$@\"\n````\nImportant Note:\n\nThe /mnt/c/... path is specific for accessing Windows files from WSL\nIf your project is directly on Linux, use the standard Linux path like /home/user/projects/... or ~/projects/...\nMake sure the path points to the JAR file generated in your project's target directory\n\n````shell\n# 3. Make the script executable\nchmod +x ~/bin/task-tracker\n\n# 4. Add bin to PATH in .zshrc\nnano ~/.zshrc\nexport PATH=\"$HOME/bin:$PATH\"\n\n# 5. Reload the configuration\nsource ~/.zshrc\nThis method allows you to have your project on Windows, compile it there, but execute it conveniently from WSL as a regular command.\n````\n\n## Community and Learning\n\nThis project is part of my learning journey, and I encourage others to:\n- Fork the repository and experiment with the code\n- Suggest improvements and new features\n- Share their own learning experiences\n- Use it as a reference for their Java learning journey\n\n## Why This Project?\n\n- Practical application of Java concepts\n- Real-world use case implementation\n- Part of structured learning through roadmap.sh\n- Opportunity to share knowledge with the community\n\n## Contributing\n\nFeel free to contribute to this project! Whether you're:\n- Learning Java yourself\n- Have suggestions for improvements\n- Want to add new features\n- Found bugs to fix\n\nYour contributions are welcome!\n\n## About the Author\n\nHi! I'm Rigoberto Calderón, a software developer passionate about learning and sharing knowledge with the community.\n\n- 🌐 Portfolio: [calderonrigoberto.github.io](https://calderonrigoberto.github.io/)\n- 💻 GitHub: [@CalderonRigoberto](https://github.com/CalderonRigoberto)\n- 📚 Currently following the Java path on roadmap.sh to enhance my skills\n- 🤝 Open to collaborations and learning opportunities\n\nCheck out my other projects and learning journey on my GitHub profile!\n\n## License\n\nThis project is open source and available under the MIT License.\n\n---\n\nBuilt with ❤️ as part of my Java learning journey.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcalderonrigoberto%2Ftask-tracker-cli","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcalderonrigoberto%2Ftask-tracker-cli","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcalderonrigoberto%2Ftask-tracker-cli/lists"}