Overview:
The webchat project is a chat application that offers features such as registration and login, real-time chat, viewing message history, multiple chat rooms, integration with a chatbot, sending images, links, and emojis, image preview, unread message notifications, automatic reconnection, viewing friend profiles, adding friends, one-on-one chat, searching friends, and recommended friends. The application is currently undergoing continuous refactoring for version 3.0, with version 2.2.0 being the stable branch for reference. The project utilizes a tech stack of Vue.js, Vue Router, Vuex for the frontend, Node.js, Express, MongoDB for the backend, and WebSocket for communication.
Features:
- Registration and Login functionality
- Real-time chat
- Viewing message history
- Multiple chat rooms
- Integration with chatbot
- Image, link, and emoji sending
- Image preview
- Unread message notifications
- Automatic reconnection
- Viewing friend profiles
- Adding friends
- One-on-one chat
- Searching friends
- Recommended friends
Installation:
Development Environment Setup:
- Ensure MongoDB, Node.js (8.5.0+), and Npm (5.3.0+) are installed.
- Clone the repository from the stable branch:
git clone https://github.com/hua1995116/webchat/tree/v2.2.0 - Start the client:
npm run client - Start the server:
npm run server
Production Environment Setup:
- Ensure Redis, MongoDB, Node.js (8.5.0+), and Npm (5.3.0+) are installed.
- Follow the steps for the development environment setup mentioned above.
Summary:
The webchat project is a feature-rich chat application that provides registration, real-time chat, multiple chat rooms, chatbot integration, and various other functionalities. It is powered by Vue.js for the frontend, Node.js for the backend, and utilizes WebSocket for communication. Users can interact via one-on-one chat, view message history, send images and emojis, and receive automatic notifications for unread messages. With a stable version available for reference and ongoing refactoring for the next release, the webchat project offers a comprehensive chat experience for users.