{"id":23501278,"url":"https://github.com/gab-i-alves/task-tracker-cli","last_synced_at":"2025-04-27T00:38:04.310Z","repository":{"id":264548573,"uuid":"893643870","full_name":"gab-i-alves/task-tracker-cli","owner":"gab-i-alves","description":"Task tracker is a project used to track and manage your tasks. All requirements and constraints as well as the idea where from roadmap.sh","archived":false,"fork":false,"pushed_at":"2024-11-25T00:45:49.000Z","size":8,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-27T00:38:00.875Z","etag":null,"topics":["cli","project","pyhton","task-manager"],"latest_commit_sha":null,"homepage":"https://roadmap.sh/projects/task-tracker/solutions?u=66ca270f92ec1a8a732a6a0f","language":"Python","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/gab-i-alves.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-25T00:08:46.000Z","updated_at":"2024-12-04T23:01:29.000Z","dependencies_parsed_at":"2024-11-25T01:19:54.812Z","dependency_job_id":"688ad7c2-9816-495f-b2b1-94acad5f5948","html_url":"https://github.com/gab-i-alves/task-tracker-cli","commit_stats":null,"previous_names":["gab-i-alves/task-tracker-cli"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gab-i-alves%2Ftask-tracker-cli","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gab-i-alves%2Ftask-tracker-cli/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gab-i-alves%2Ftask-tracker-cli/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gab-i-alves%2Ftask-tracker-cli/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gab-i-alves","download_url":"https://codeload.github.com/gab-i-alves/task-tracker-cli/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251073596,"owners_count":21532005,"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","project","pyhton","task-manager"],"created_at":"2024-12-25T07:14:08.579Z","updated_at":"2025-04-27T00:38:04.288Z","avatar_url":"https://github.com/gab-i-alves.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Task Tracker CLI\n\nTask tracker is a project used to track and manage your tasks. In this task, you will build a simple command line interface (CLI) to track what you need to do, what you have done, and what you are currently working on. This project will help you practice your programming skills, including working with the filesystem, handling user inputs, and building a simple CLI application.\nRequirements\n\nThe application should run from the command line, accept user actions and inputs as arguments, and store the tasks in a JSON file. The user should be able to:\n\n- Add, Update, and Delete tasks\n- Mark a task as in progress or done\n- List all tasks\n- List all tasks that are done\n- List all tasks that are not done\n- List all tasks that are in progress\n\nHere are some constraints to guide the implementation:\n\n- You can use any programming language to build this project.\n- Use positional arguments in command line to accept user inputs.\n- Use a JSON file to store the tasks in the current directory.\n- The JSON file should be created if it does not exist.\n- Use the native file system module of your programming language to interact with the JSON file.\n- Do not use any external libraries or frameworks to build this project.\n- Ensure to handle errors and edge cases gracefully.\n\n### Example\n\nThe list of commands and their usage is given below:\n\n```bash\n# Adding a new task\ntask-cli add \"Buy groceries\"\n# Output: Task added successfully (ID: 1)\n\n# Updating and deleting tasks\ntask-cli update 1 \"Buy groceries and cook dinner\"\ntask-cli delete 1\n\n# Marking a task as in progress or done\ntask-cli mark-in-progress 1\ntask-cli mark-done 1\n\n# Listing all tasks\ntask-cli list\n\n# Listing tasks by status\ntask-cli list done\ntask-cli list todo\ntask-cli list in-progress\n```\n\n### Task Properties\n\nEach task should have the following properties:\n\n- id: A unique identifier for the task\n- description: A short description of the task\n- status: The status of the task (todo, in-progress, done)\n- createdAt: The date and time when the task was created\n- updatedAt: The date and time when the task was last updated\n\nMake sure to add these properties to the JSON file when adding a new task and update them when updating a task.\n\n[Project Link](https://roadmap.sh/projects/task-tracker)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgab-i-alves%2Ftask-tracker-cli","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgab-i-alves%2Ftask-tracker-cli","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgab-i-alves%2Ftask-tracker-cli/lists"}