A command-line task manager built with pure Node.js. Zero external dependencies — just the standard library and process.argv.
- ✅ Add new tasks
- ✏️ Update existing tasks
- 🗑️ Delete tasks
- ✔️ Mark tasks as done
- 🔄 Mark tasks as in-progress
- 📋 List all tasks or filter by status (todo, in-progress, done)
- 💾 Persistent storage using JSON file
- Clone this repository or download the project files
- Navigate to the project directory
- Make sure you have Node.js installed on your system
cd task-trackernode index.js add "Buy groceries"node index.js update 1 "Buy groceries and cook dinner"node index.js delete 1node index.js mark-done 1node index.js mark-in-progress 1node index.js listnode index.js list done
node index.js list todo
node index.js list in-progresstask-tracker/
│
├── index.js # Main entry point, handles CLI commands
├── taskManager.js # Core functionality (add, update, delete, etc.)
├── tasks.json # Data storage (auto-generated)
├── package.json # Project metadata
└── README.md # Project documentation
- Command Parsing: The app reads command-line arguments using
process.argv - Task Management: All task operations are handled in
taskManager.js - Data Storage: Tasks are stored in
tasks.jsonfile - Task Properties: Each task has:
id: Unique identifierdescription: Task descriptionstatus: todo, in-progress, or donecreatedAt: Timestamp when task was createdupdatedAt: Timestamp when task was last modified
- Node.js: JavaScript runtime
- File System (fs): For reading/writing JSON data
- JSON: Data storage format
- Working with Node.js file system operations
- Parsing command-line arguments
- Array methods (find, filter, findIndex, forEach)
- JSON data manipulation
- Module exports and imports
- Error handling and input validation
- Add task priority levels
- Add due dates for tasks
- Add search functionality
- Add task categories/tags
- Improve ID management (reuse deleted IDs)
- Add colored output for better readability
- Add data backup/export feature
This project is based on the roadmap.sh Task Tracker project.
Rhythm Mittal
MIT — use however you want.