https://github.com/arpanrijal/task-tracker-cli
Task Tracker CLI is a minimalist Node.js terminal application that helps you manage your tasks efficiently through a simple command-line interface. No frills, just productivity.
https://github.com/arpanrijal/task-tracker-cli
cli command-line-tool javascript node nodejs-application productivity task-management task-tracker terminal-app todo-app
Last synced: 26 days ago
JSON representation
Task Tracker CLI is a minimalist Node.js terminal application that helps you manage your tasks efficiently through a simple command-line interface. No frills, just productivity.
- Host: GitHub
- URL: https://github.com/arpanrijal/task-tracker-cli
- Owner: arpanrijal
- Created: 2025-05-01T14:16:49.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-05-07T07:37:47.000Z (about 1 year ago)
- Last Synced: 2025-05-07T08:34:59.248Z (about 1 year ago)
- Topics: cli, command-line-tool, javascript, node, nodejs-application, productivity, task-management, task-tracker, terminal-app, todo-app
- Language: JavaScript
- Homepage: https://github.com/arpanrijal/Task-Tracker-CLI
- Size: 0 Bytes
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Task Tracker CLI 🚀

**Two implementations of a command-line task manager**:
1. **JSON Version**: Advanced version with status tracking (todo/in-progress/done) and timestamps
2. **Filesystem Version**: Simple version using text files for basic task management
[](https://nodejs.org/)
[](https://opensource.org/licenses/MIT)
## Features ✨
### JSON Version (`tasktrack.js`)
- ✅ Status tracking (todo/in-progress/done)
- 📅 Automatic timestamps (createdAt/updatedAt)
- 🔍 Filter tasks by status
- 🧩 Persistent JSON storage
### Filesystem Version (`index.js`)
- ✅ Simple text-based storage
- 🔢 Automatic task numbering
- 🏷️ Basic CRUD operations
- 📝 Plaintext task storage
## Feature Comparison 🔍
| Feature | JSON Version (`tasktrack.js`) | Filesystem Version (`index.js`)|
|-----------------------|-------------------------------|--------------------------------|
| **Storage Method** | JSON file (`task.json`) | Text files (`tasklist.txt`) |
| **Status Tracking** | ✅ (todo/in-progress/done) | ❌ |
| **Timestamps** | ✅ (createdAt/updatedAt) | ❌ |
| **Task Filtering** | ✅ by status | ❌ |
| **Data Structure** | Complex objects | Simple line-by-line text |
| **Best For** | Detailed task management | Quick simple task lists |
## Installation ⚡
```bash
git clone https://github.com/arpanrijal/TaskTrack_using_JSON.git
cd TaskTrack_using_JSON
```
## Usage 🖥️
### JSON Version (Advanced)
```bash
node tasktrack.js [command] [arguments]
# Add task
node tasktrack.js add "Write documentation"
# List tasks
node tasktrack.js list in-progress
# Update task
node tasktrack.js update 3 "Updated description"
# Change status
node tasktrack.js mark-done 1
```
### Filesystem Version (Basic)
```bash
node index.js
# Follow the menu:
# 1. Add Task
# 2. View Tasks
# 3. Remove Task
# 4. Update Task
# 5. Exit
```
## File Structure 📂
```
TaskTrack_using_JSON/
├── tasktrack.js # JSON version (advanced)
├── task.json # JSON task storage
├── index.js # Filesystem version (basic)
├── tasklist.txt # Filesystem task storage
├── indexnum.txt # Task counter
└── README.md
```
## Example Workflow 🔄
### JSON Version
```bash
node tasktrack.js add "Complete project"
node tasktrack.js mark-in-progress 1
node tasktrack.js list
```
### Filesystem Version
```bash
node index.js
> 1 (Add Task)
> "Buy groceries"
> Y (Continue)
> 2 (View Tasks)
```
## Why Two Versions? 💡
This project demonstrates different Node.js storage approaches:
- **JSON Version**: Shows complex data structures with status tracking
- **Filesystem Version**: Illustrates basic file I/O operations
Originally created as part of the [roadmap.sh](https://roadmap.sh/projects/task-tracker) project roadmap.
## Contributing 🤝
1. Fork the repository
2. Create your feature branch (`git checkout -b feature/amazing-feature`)
3. Commit your changes (`git commit -m 'Add some feature'`)
4. Push to the branch (`git push origin feature/amazing-feature`)
5. Open a pull request
## FAQ ❓
**Q:** Which version should I use?
**A:** Use JSON version for serious task management, filesystem version for quick lists
**Q:** Can I use both simultaneously?
**A:** Not recommended as they use different storage systems
**Q:** How do I back up my tasks?
**A:** Simply copy `task.json` or `tasklist.txt` to another location
## License 📜
MIT © [Arpan Rijal](https://github.com/arpanrijal)