https://github.com/indective/taskmasterpp
a simple CLI task manager.
https://github.com/indective/taskmasterpp
Last synced: 12 months ago
JSON representation
a simple CLI task manager.
- Host: GitHub
- URL: https://github.com/indective/taskmasterpp
- Owner: Indective
- License: mit
- Created: 2025-04-19T16:29:14.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-05-11T08:57:07.000Z (about 1 year ago)
- Last Synced: 2025-06-25T23:35:27.944Z (about 1 year ago)
- Language: C++
- Homepage:
- Size: 7.89 MB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Taskmaster++
Taskmaster++ is a terminal-based task management application written in modern C++. It enables users to securely register and log in, manage their personal tasks via a JSON-based system, and maintain persistent task data in a simple and modular architecture.
## 🧠 Features
- 🔒 **User Authentication** — Secure account creation and login using bcrypt password hashing.
- 📋 **Task Management** — Add, list, complete, and save tasks per user.
- 💾 **Persistent Storage** — Stores all data on disk in structured JSON format.
- 🧱 **Modular Design** — Organized source code with headers and implementation separated cleanly.
- ⚙️ **CMake Build** — Fully CMake-integrated for easy cross-platform building.
## 📁 Project Structure
``` html
├── build # CMake build output
├── CMakeLists.txt # Build configuration
├── data # User-specific task data
│ └── users
│ ├── indective/ #example test unit
│ └── muhammad/ #example test unit
|
|── libs #external libraries
| └── json
| └── Bcrypt.cpp
|
├── include # Header files
│ ├── usermanager.h
│ └── taskmaster.h
├── src # Source code
│ ├── main.cpp
│ ├── taskmanager.cpp
│ └── usermanager.cpp
└── README.md # This file
```
## ⚙️ Build Instructions
### 📦 Requirements
- C++17-compatible compiler (e.g., `g++`, `clang++`)
- [CMake](https://cmake.org/download/) (version 3.10+)
### 🛠️ Building
```bash
git clone https://github.com/yourusername/taskmasterpp.git
cd taskmasterpp
mkdir build && cd build
cmake ..
make
```
### ▶️ Running
```bash
./tsm
```
## 🚀 Usage
- When launched, the app prompts you to **register** or **log in**.
- Upon successful login, access your personal task list:
- `Add` tasks
- `Mark` them as completed
- `View` or review old ones
- Tasks are saved in:
``` html
data/users//tasks.json
```
## 🛠️ Tech Stack
- **C++17**
- **CMake**
- **nlohmann/json** (for parsing JSON)
- **Bcrypt-cpp** (for password hashing)
## 📄 License
This project is released under the **MIT License**. See the [LICENSE](LICENSE) file for details.
## 🤝 Contributing
Contributions are welcome! Please feel free to open issues or submit pull requests to suggest improvements or new features.