0% found this document useful (0 votes)
6 views3 pages

Smart Event Task Manager Design

The document outlines the design of a C++ application for managing tasks and events, featuring a user interface, application logic, and a database layer. Key modules include authentication, task/event management, search and filter, reminders, and reporting. The system supports CRUD operations, multi-threaded notifications, and data storage in SQLite/MySQL, with a structured flow for user interaction and database communication.

Uploaded by

Geeta Birle
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
6 views3 pages

Smart Event Task Manager Design

The document outlines the design of a C++ application for managing tasks and events, featuring a user interface, application logic, and a database layer. Key modules include authentication, task/event management, search and filter, reminders, and reporting. The system supports CRUD operations, multi-threaded notifications, and data storage in SQLite/MySQL, with a structured flow for user interaction and database communication.

Uploaded by

Geeta Birle
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 3

Smart Event & Task Manager - System

Design
1. System Overview
Objective:
A C++ application for managing tasks and events, storing data in a database, providing
reminders, search, and reporting features.

Components:
 User Interface (UI): Console or GUI (Qt/SFML)
 Application Logic (C++ Core): Handles tasks, events, and notifications
 Database Layer (SQLite/MySQL): Stores users, tasks, events, and history
 Notification System: Optional multi-threaded reminders

2. Modules & Responsibilities

Authentication Module
 User registration
 Login
 Password validation & hashing

Task/Event Manager
 CRUD operations on tasks/events
 Priority management

Database Handler
 Connect to DB
 Execute queries
 Map C++ objects to DB

Search & Filter Module


 Search tasks by date, keyword, category, or priority

Reminder / Notification Module


 Multi-threaded notifications for upcoming tasks

Reporting Module
 Generate daily/weekly summaries
 Export CSV/text
3. Database Design

Users Table:
user_id (INTEGER PK)
username (TEXT)
password (TEXT)
email (TEXT)

Tasks Table:
task_id (INTEGER PK)
user_id (INTEGER FK)
title (TEXT)
description (TEXT)
category (TEXT)
priority (INT)
due_date (DATE/TEXT)
status (TEXT)

4. System Flow (Tree Structure)


Start

└── User Login/Register

├── Success → Main Menu (UI)

│ ├── Manage Tasks

│ │ └── CRUD operations → Update DB via DB Layer → Notification Module (optional)

│ ├── Search/Filter

│ │ └── Query DB → Display results

│ └── Reports/Export

│ └── Generate CSV/Text → DB

└── Error/Retry

5. Interaction with Database


- All modules communicate with Database Handler
- Database Handler executes SQL queries (INSERT, UPDATE, DELETE, SELECT)
- C++ objects (Task/User) map to database rows
Example: Adding a Task
- User enters task info → Task Manager validates input
- Task Manager calls Database Handler → executes INSERT
- Task stored in Tasks table → available for search, reporting, notifications

6. Optional Enhancements
 GUI using Qt
 Multi-threaded reminder system (std::thread)
 Task sorting by priority / due date
 Notifications pop up on console or GUI

You might also like