This project simulates a simple chat application where users can create accounts, manage their settings, and participate in individual or group chats.
- User account creation and login
- Managing user settings (change password, update phone number, etc.)
- Sending and receiving messages in individual and group chats
- Blocking and unblocking users
- Searching messages within chats
- Chat history management for both individual and group conversations
- This class represents a user in the system. It includes attributes like username, password, and status (e.g., available, offline, busy).
- Key methods:
createAccount(),login(),blockUser(),addChat(),createGroupChat(),searchMessages(),logout().
- This class allows users to manage their account settings such as notifications, password changes, and status updates.
- Key methods:
setNotifications(),changePassword(),updateStatus(),help().
- Represents an individual chat between two users.
- Methods allow for receiving and handling messages between users.
- Represents group chats that can involve multiple users.
- Users can be added or removed from the group, and the group chat can be deleted or left by members.
- Key methods:
addMembers(),removeFriend(),sentERequest(),sentMRequest().
- Handles messages exchanged in chats. Messages can be of different types (text, image, file, etc.).
- Key methods:
Display(),setMessage_type().
- Manages the chat history for both individual and group chats. Users can retrieve and add messages to the history.
- Key methods:
getMessageList(),addMessage().
- Enum class that defines the possible statuses a user can have: Available, Busy, Offline, or Away.
- Compile and run the
Mainclass. - The program simulates user interactions like logging in, sending messages, and managing settings.
- User actions are triggered through the
main()method for demonstration purposes.