Welcome to the video-chat application, a platform designed for public chat across various rooms, private messaging, and initiating private video sessions. This application utilizes Vue-Socket.io/socket.io for real-time communication for messaging and the MediaStream API for video communication.
- Public Chat: Engage in public chat rooms, sending and receiving messages in real-time.
- Private Chat: Enjoy private conversations between two users, ensuring a more personalized experience.
- Private Video Sessions: Initiate private video sessions between two users for face-to-face communication.
-
Frontend:
- Vue
- Vuex
- TypeScript
- Vuetify
- Axios
- Vue-Socket.io
-
Backend:
- Express
- Socket.io
- MySQL (with Sequelize)
- Redis
The application features custom authentication using JSON Web Tokens (JWT) and also supports Google OAuth 2.0 for user authentication.
-
Clone the repository:
git clone git@github.com:raf0nx/video-chat.git
-
Install dependencies:
npm install
-
Run the development server:
npm run serve
Note: Ensure that your Node.js version is less than 17.
Note: The backend repository is currently private for security reasons.
-
Ensure you have a MySQL instance running on
127.0.0.1. -
Start the Redis key-value store by running the following command:
redis-server
It should be running on
localhostat port6379. -
Install backend dependencies:
npm install
-
Run the backend server:
npm run start
Now you should have both the frontend and backend up and running locally. Enjoy using the video-chat application! 💬 👥
