{"id":21938912,"url":"https://github.com/jmsmarcelo/task-tracker-cli-java","last_synced_at":"2025-03-22T14:42:59.754Z","repository":{"id":264550832,"uuid":"893636571","full_name":"jmsmarcelo/task-tracker-cli-java","owner":"jmsmarcelo","description":"Task Tracker | CLI | Java | Roadmap.sh","archived":false,"fork":false,"pushed_at":"2024-12-07T22:29:48.000Z","size":33,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-27T14:48:04.328Z","etag":null,"topics":["challenge","cli","java","roadmap","task-tracker"],"latest_commit_sha":null,"homepage":"","language":"Java","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/jmsmarcelo.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,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-11-24T23:35:54.000Z","updated_at":"2024-12-07T22:29:51.000Z","dependencies_parsed_at":null,"dependency_job_id":"bb2903e8-6a47-438f-96ac-e773a057eac0","html_url":"https://github.com/jmsmarcelo/task-tracker-cli-java","commit_stats":null,"previous_names":["jmsmarcelo/task-tracker-cli-java"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jmsmarcelo%2Ftask-tracker-cli-java","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jmsmarcelo%2Ftask-tracker-cli-java/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jmsmarcelo%2Ftask-tracker-cli-java/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jmsmarcelo%2Ftask-tracker-cli-java/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jmsmarcelo","download_url":"https://codeload.github.com/jmsmarcelo/task-tracker-cli-java/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244973695,"owners_count":20541022,"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":["challenge","cli","java","roadmap","task-tracker"],"created_at":"2024-11-29T02:15:53.338Z","updated_at":"2025-03-22T14:42:59.707Z","avatar_url":"https://github.com/jmsmarcelo.png","language":"Java","readme":"# Task Tracker CLI\n\nA command-line application to track and manage tasks, developed in **Java** as part of the [Task Tracker Project](https://roadmap.sh/projects/task-tracker) from **Roadmap.sh**.\n\nVersion with GUI (JavaFX): [Task Tracker GUI](https://github.com/jmsmarcelo/task-tracker-javafx)\n\n## 📋 Features\n- Add, Update, and Delete tasks\n- Mark a task as in progress or done\n- List all tasks\n- List all tasks are not done\n- List all tasks are in progress\n- List all tasks are done\n\n## ⚙️ Technologies and Tools\n\n- Language: **Java**\n- CLI Structure: Input/output handling\n- Data Persistence: Store the tasks in a JSON file\n\n## 🛠️ How to Run the Project\n\n### Prerequisites\n\n- **Java 17** or later installed\n- Read/write permission\n\n### Steps to Execute\n\n1. Clone the repository:\n  ```bash\n  git clone https://github.com/jmsmarcelo/task-tracker-cli-java.git\n  cd task-tracker-cli-java\n  ```\n2. Compile the project:\n   ```bash\n   mkdir bin\n   javac -d bin src/*.java\n   ```\n3. Run the project:\n   ```bash\n   cd bin\n   java TaskCli help\n   ```\nAlternatively, use automatic compile and run\n   - Windows\n     - Double click in `win_compile.bat` `win_run.bat`\n     \n   - Linux/MacOS\n     ```bash\n     # Make scripts executable\n     chmod +x unix_compile.sh unix_run.sh\n\n     # Run the scripts\n     ./unix_compile.sh\n     ./unix_run.sh\n     ```\n\n## 📌 Usage\n   ```bash\n# Adding a new task\njava TaskCli add \"Buy groceries\"\n# output: Task added successfully (ID: 1)\n\n# Updating task\njava TaskCli update 1 \"Buy groceries and cook dinner\"\n# output: Task updated successfully\n\n# Deleting task\njava TaskCli delete 1\n# output: Task deleted successfully\n\n# Marking a task as in progress\njava TaskCli mark-in-progress 1\n# output: Task marked as in-progress successfully\n\n# Marking a task as done\njava TaskCli mark-done 1\n# output: Task marked as done successfully\n\n# Listing all tasks\njava TaskCli list\n# output: id: 1, description: Buy groceries and cook dinner, status: todo, createdAt: 2024-11-28T06:39:51.227335800, updatedAt: 2024-11-28T06:40:40.429241100\n\n# Listing tasks by status\njava TaskCli list todo\njava TaskCli list in-progress\njava TaskCli list done\n   ```\n\n## 📦 Project Structure\n```plaintext\ntask-tracker-cli-java/\n└─ src/\n   ├─ TaskCli.java         # Application entry point\n   ├─ Task.java            # Task domain model\n   ├─ TaskStatus.java      # Enum task status\n   ├─ TaskService.java     # Task service logic\n   └─ TaskRepository.java  # file persistence handling\n```\n\n## 📖 How to Contribute\n\nContributions are welcome!\n\nTo contribute:\n1. Fork the repository.\n2. Create a new branch:\n   ```bash\n   git checkout -b my-new-feature\n   ```\n3. Commit your changes:\n   ```bash\n   git commit -m \"add new feature\"\n   ```\n4. Push to the branch:\n   ```bash\n   git push origin my-new-feature\n   ```\n5. Open a Pull Request.\n\n## 📜 License\nThis project is licensed under the **MIT License**. See the [LICENSE](https://github.com/jmsmarcelo/task-tracker-cli-java/blob/main/LICENSE) file for details.\n\n## 🙋‍♂️ Author\nCreated by [Jose Marcelo](https://jmsmarcelo.github.io/). Feel free to get in touch or explore more of my projects!\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjmsmarcelo%2Ftask-tracker-cli-java","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjmsmarcelo%2Ftask-tracker-cli-java","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjmsmarcelo%2Ftask-tracker-cli-java/lists"}