Skip to content

astha21sharma/student-productivity-suite

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

9 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸŽ“ Student Productivity Suite

A simple C++ console-based application to manage students’ tasks, exams, and attendance. This project demonstrates real-world OOP design and uses DSA techniques like binary search and priority queues for fast and efficient operations.


✨ Features

  • πŸ“‹ Add, view, and search tasks (with priority & deadlines)
  • πŸ“… Schedule and manage upcoming exams
  • βœ… Mark and track student attendance
  • πŸ” Binary Search for quick task lookup by title
  • ⏫ View Top-K priority tasks per student
  • ⚑ Notifications dashboard for pending tasks & exams
  • πŸ‘₯ Manage multiple students with fast ID-based lookup

🧠 Core Concepts Used

  • Object-Oriented Programming (OOP)
    • Encapsulation (private members, public APIs)
    • Abstraction (high-level interfaces for students/tasks)
    • Aggregation (Student has Tasks, Exams, Attendance)
    • Operator Overloading (operator< for sorting)
  • Data Structures & Algorithms (DSA)
    • Binary Search for finding tasks
    • Priority Queue (Top-K tasks)
    • Unordered Map for O(1) student lookups
  • Modern C++17 Features
    • Initializer Lists
    • Lambda Functions
    • Range-based for loops

πŸ› οΈ Installation & Running

πŸ“¦ Clone the repository:

git clone https://github.com/your-username/student-productivity-suite.git cd student-productivity-suite ⚑ Compile:

bash Copy Edit g++ -std=c++17 productivity.cpp -o student-suite πŸš€ Run:

bash Copy Edit ./student-suite

πŸ“ ER Diagram This diagram shows relationships between Students, Tasks, Exams, and Attendance.

ER diagram


πŸ“¦ File Structure bash Copy Edit πŸ“ student-productivity-suite β”œβ”€β”€ productivity.cpp # All classes and logic β”œβ”€β”€ README.md # Project information and usage β”œβ”€β”€ er_diagram.png # Entity-Relationship Diagram πŸš€ Example CLI markdown Copy Edit ===== Student Productivity Suite =====

  1. Add Student
  2. Mark Attendance
  3. View Attendance Report
  4. Add Assignment (Task)
  5. View Pending Assignments
  6. Schedule Exam
  7. View Upcoming Exams
  8. Notifications Dashboard
  9. Exit πŸ“‹ TODO Add file-based persistence (save/load student data)

Support editing and deleting tasks/exams

Build a GUI version in future

πŸ™‹β€β™€οΈ Author Astha Sharma

About

CLI-based Student Productivity App

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages