This is a live chat feature designed for CPSC 362: Software Engineering Foundations. This project aims to facilitate real-time user-to-user communication via private or group chats. Individuals may quickly send messages, join chat groups, and create profiles.
- Instant Messaging: Send and receive messages instantaneously.
- Chat Rooms: Engage in open or closed chat rooms.
- User Profiles: Create a personalized profile and username for your profile.
- (Optional) Group Chats: Initiate or join conversations with multiple users in groups.
- (Optional) File Sharing: Share documents and other types of data.
- Messaging:
- Users are required to send and receive real-time messages.
- For example: The message should appear immediately in the chat window.
- User Profiles:
- Give your profile a unique name and description.
- Chat Rooms:
- Users can enter and exit chat rooms.
- For example: Users may choose a chat room from the list and join.
- Performance:
- There should be no noticeable lag between sending and receiving messages.
- Scalability:
- Up to 1,000 users should be supported by the system at once without experiencing any lag.
- Security:
- All user data, including messages, must be stored safely and encrypted.
(Include an image of your Use Case Diagram here.)
- The fundamental user-system interactions—such as logging in, joining chat rooms, and sending messages—are illustrated in this diagram.
(Include an image of your Context Diagram here.)
- The interface between the chat system and external elements like the server and database are featured in this diagram.
To run the chat application on your computer:
- Download the project:
git clone https://github.com/your-repo-url.git
- Open the project folder:
cd your-project-folder
- Install the required software:
npm install
- Run the application:
npm start
- Frontend:
- Backend:
- Database:
- Real-time Communication: