Capstone Project

Task Management System

Build a comprehensive task management application that combines OOP, STL, file I/O, templates, and all concepts learned throughout the course.

15-20 hours
Advanced
400 Points
Submit Project
Skills Demonstrated
  • OOP & Class Design
  • STL Containers & Algorithms
  • File Persistence
  • Exception Handling
  • Design Patterns
01

Project Overview

Create a Task Management System (like a simplified Trello/Todoist) that demonstrates mastery of all C++ concepts from the course.

Capstone Requirements

This project must integrate concepts from ALL previous modules: classes, inheritance, polymorphism, STL, templates, file I/O, and error handling.

02

Requirements

1
Task Hierarchy (OOP)

Base Task class with derived types: SimpleTask, RecurringTask, SubTask. Virtual methods for display, completion, due date handling.

2
Project & Category Management (STL)

Projects contain tasks (vector). Categories use map for organization. Priority queue for due dates. Set for tags.

3
Persistence (File I/O)

Save/load tasks to JSON-like text format. Support import/export. Backup functionality.

4
Search & Filter (Algorithms + Lambdas)

Filter by status, priority, due date, tags. Sort by multiple criteria. Full-text search in descriptions.

5
Statistics & Reports

Completion rates, overdue tasks, productivity metrics. Generate text/HTML reports.

6
Interactive CLI

Menu-driven interface with commands: add, edit, delete, complete, list, search, filter, report, save, load.

03

Submission

Required Repository Name
cpp-task-manager
cpp-task-manager/
├── src/
│   ├── Task.h, Task.cpp       # Task hierarchy
│   ├── Project.h, Project.cpp # Project management
│   ├── Storage.h, Storage.cpp # File persistence
│   ├── TaskManager.h, .cpp    # Main manager
│   └── main.cpp               # Application entry
├── data/
│   └── sample_tasks.txt       # Sample data file
├── docs/
│   └── DESIGN.md              # Design document
├── sample_output.txt          # Demo session
└── README.md                  # Full documentation
04

Grading Rubric

CriteriaPoints
Task class hierarchy (OOP)70
STL usage (containers, algorithms)70
File persistence50
Search & filtering with lambdas50
Statistics & reports40
Error handling30
CLI interface & UX40
Code quality & documentation30
Design document20
Total400