Skip to content

YOMNA-MAHSOOB/Modified_saraha

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

7 Commits
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿš€ Modified-Saraha: Anonymous Messaging System

A C++ implementation of a privacy-first messaging platform โ€” reimagining Saraha with a data-structures twist. Built as a command-line interface (CLI) application, this project focuses on anonymous, ID-only messaging with efficient use of STL containers and clean file handling.

โœ… Built for a university Data Structures course
๐Ÿ’ป Developed in C++ 

๐Ÿ” Key Features

๐Ÿ‘ค User Registration & Login

Ensures unique usernames

Includes password validation & security

Credentials stored securely (no plaintext passwords)

๐Ÿ’ฌ Anonymous Messaging

Messages display only the senderโ€™s ID, keeping identities private

Option to show sender's name if they opt in (via a checkbox)

โ†ฉ๏ธ Undo Feature

Only the sender can undo their most recent message

Undo removes the message pair (sender + recipient copy)

๐Ÿ‘ฅ Contact Management

Manually add/remove contacts

Removing a contact does not delete message history

๐Ÿ” Search & Sort

Search contacts by ID

Sort contacts by number of exchanged messages

โญ Favorites

Mark/unmark favorite messages

Automatically removes the oldest favorite when limit is reached

๐Ÿ’พ Persistent Storage

Loads data from files on launch

Writes updated data to files on exit

๐Ÿง  Data Structures Used Structure Purpose unordered_map Fast lookup for users and messages vector Stores contact lists and messages deque Manages favorite messages (FIFO removal) stack Undo last message actions ๐Ÿ›  Tech Stack

Language: C++

IDE: Qt Creator 

Standard Library: STL (C++ Standard Template Library)

๐Ÿ—ƒ๏ธ File Structure

users.txt โ€“ Stores user credentials and info

messages.txt โ€“ Holds message logs

contacts.txt โ€“ Tracks contact relationships

favorites.txt โ€“ Manages favorite messages

๐ŸŒ How It Works

Pure CLI-based interface (CMD version)

No names or photos by default โ€“ just ID-based messaging

Optionally reveal senderโ€™s name through a "Show Name" checkbox

Made By

Yomna El-Kobesy
Mariam Muhammad
Mariam sayed
Arwa Ahmed
Sara Saeed
Esraa Ragb
Safaa Muhammud

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published