PlanMate is a command-line task management application built with Kotlin following Test-Driven Development (TDD) and SOLID principles. It supports multiple users, projects, and dynamic task states with a comprehensive audit system.
- Two user types: Admin and Mate
- Secure password storage using MD5 hashing
- Admins can create new Mate users
- Support for multiple projects
- Only Admins can create, edit, and delete projects
- Each project maintains its own set of tasks
- Dynamic states (not hardcoded)
- Admins can create/edit states for each project
- Mates can create/edit/delete tasks within projects
- Swimlanes UI to display tasks in the console
- Track changes to projects and tasks
- View change history by project ID or task ID
- Shows who made changes and when
- Built using Kotlin
- Followed Test-Driven Development (TDD) methodology
- Applied SOLID principles throughout
- Developed with a Command Line Interface (CLI) for interaction









