A command-line task tracking application built as part of my Java learning journey following the roadmap.sh path. This project demonstrates practical implementation of modern Java features while helping others learn through real-world examples.
This 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.
-
Modern Java Features
- Records for immutable data structures
- Stream API for data processing
- Local variable type inference (var)
- Pattern Matching (Java 17+)
-
Libraries
- Jackson for JSON file handling
- JSON reading/writing
- Object mapping
- Data persistence
- Jackson for JSON file handling
-
Project Purpose
- Practice modern Java features
- Learn file handling and data persistence
- Implement CLI interfaces
- Apply clean code principles
Through this project, I practiced:
- Building interactive CLI applications
- Working with file systems using Java
- Data persistence using JSON
- Modern Java features in a real-world context
- Command pattern implementation
Detailed instructions for installing and running the Task Tracker CLI are available in the Getting Started section below.
- Ensure you have Java 17+ installed
- Clone the repository
- Build the project using Maven
- Add to your system's PATH for easy access
Example:
# 1. Create bin directory if it doesn't exist
mkdir -p ~/bin
# 2. Create the executable script
nano ~/bin/task-tracker
# In the script, add:
#!/bin/bash
# If your project is on Linux:
java -jar /path/to/your/project/target/task-tracker-cli-1.0-SNAPSHOT.jar "$@"
# In my case, since the project is on Windows but I'm using it through WSL:
java -jar /mnt/c/Users/example/Desktop/task-tracker-cli/target/task-tracker-cli-1.0-SNAPSHOT.jar "$@"
Important Note:
The /mnt/c/... path is specific for accessing Windows files from WSL If your project is directly on Linux, use the standard Linux path like /home/user/projects/... or ~/projects/... Make sure the path points to the JAR file generated in your project's target directory
# 3. Make the script executable
chmod +x ~/bin/task-tracker
# 4. Add bin to PATH in .zshrc
nano ~/.zshrc
export PATH="$HOME/bin:$PATH"
# 5. Reload the configuration
source ~/.zshrc
This method allows you to have your project on Windows, compile it there, but execute it conveniently from WSL as a regular command.
This project is part of my learning journey, and I encourage others to:
- Fork the repository and experiment with the code
- Suggest improvements and new features
- Share their own learning experiences
- Use it as a reference for their Java learning journey
- Practical application of Java concepts
- Real-world use case implementation
- Part of structured learning through roadmap.sh
- Opportunity to share knowledge with the community
Feel free to contribute to this project! Whether you're:
- Learning Java yourself
- Have suggestions for improvements
- Want to add new features
- Found bugs to fix
Your contributions are welcome!
Hi! I'm Rigoberto Calderón, a software developer passionate about learning and sharing knowledge with the community.
- 🌐 Portfolio: calderonrigoberto.github.io
- 💻 GitHub: @CalderonRigoberto
- 📚 Currently following the Java path on roadmap.sh to enhance my skills
- 🤝 Open to collaborations and learning opportunities
Check out my other projects and learning journey on my GitHub profile!
This project is open source and available under the MIT License.
Built with ❤️ as part of my Java learning journey.