https://github.com/mideohub/complaint-management-system
A console-based application to manage customer complaints using manually implemented data structures: linked list (employee management), queue (complaint storage), stack (problem summaries), and priority queue (urgent complaints). Supports Customer, Employee, and Admin roles with file-based data persistence.
https://github.com/mideohub/complaint-management-system
aast clion complaint-management-system console-application cpp data-structures data-structures-project linked-list priority-queue queue stack
Last synced: 11 days ago
JSON representation
A console-based application to manage customer complaints using manually implemented data structures: linked list (employee management), queue (complaint storage), stack (problem summaries), and priority queue (urgent complaints). Supports Customer, Employee, and Admin roles with file-based data persistence.
- Host: GitHub
- URL: https://github.com/mideohub/complaint-management-system
- Owner: MideoHub
- Created: 2025-05-08T06:40:06.000Z (18 days ago)
- Default Branch: main
- Last Pushed: 2025-05-09T07:16:37.000Z (17 days ago)
- Last Synced: 2025-05-13T14:17:27.492Z (12 days ago)
- Topics: aast, clion, complaint-management-system, console-application, cpp, data-structures, data-structures-project, linked-list, priority-queue, queue, stack
- Language: C++
- Homepage:
- Size: 6.84 KB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Complaint Management System
**A C++ console application developed for a Data Structures course at AASTMT-Aswan (Spring 2024). Manages customer complaints using manually implemented data structures: linked list, queue, stack, and priority queue. Supports Customer, Employee, and Admin roles with file-based data persistence.**
## Features
#### Customer Role:
- Submit complaints (name, phone, email, content).
- View complaint details by ID.
- Delete complaints by ID.
- Search complaint history by email.#### Employee Role:
- View and reply to unreplied complaints.
- Add problem summaries (stored in stack).
- Search summaries by content.
- View urgent complaints (priority queue).#### Admin Role:
- Manage employees (add, delete, view).
- View unreplied complaints and total count.
- Prioritize urgent complaints.#### Data Structures:
##### Linked List: Employee management.
##### Queue (Linked List): Complaint storage.
##### Stack: Problem summaries.
##### Priority Queue (Sorted Linked List): Urgent complaints.
##### Persistence: Complaints saved to `complaint_data.txt.`## Installation
#### 1. Clone the repository:
`git clone https://github.com/MideoHub/Complaint-Management-System.git`#### 2. Navigate to the project directory:
`cd Complaint-Management-System`#### 3. Compile the code
- Linux/macOS:
```g++ src/main.cpp -o complaint_system```- Windows (MinGW):
```g++ src/main.cpp -o complaint_system.exe```#### 4. Run the program
- Linux/macOS:
`./complaint_system`- Windows:
`complaint_system.exe`## Usage
- Launch the program and select a role (Customer, Employee, Admin).
- Follow menu prompts to perform actions.
- Complaints are saved to `complaint_data.txt` when exiting Customer menu.## Project Structure
- `src/main.cpp`: Main source code.
- `complaint_data.txt`: Stores complaint data.
- `.gitignore`: Excludes compiled binaries.## Limitations
- Plain-text passwords (educational use only).
- Basic input validation (e.g., email format).
- Single-file implementation.## Future Improvements
- Implement password hashing.
- Modularize code into headers.
- Add GUI.-------------
#### Feel free to reach out with feedback or collaboration ideas!