Sync-chat is a full-stack chat application designed to facilitate real-time communication using Socket.io. This project serves as a learning tool for understanding Socket.io and collaborative coding. It allows users to chat with anyone on the platform, functioning as an alternative to popular messaging apps like Messenger and Viber.
- Real-time group chat
- User authentication and authorization
- Responsive design for both web and mobile
- Persistent message storage
- Node.js and npm installed
- Git installed
-
Clone the repository:
git clone https://github.com/your-username/sync-chat.git cd sync-chat/backend
-
Install the dependencies:
npm install
-
Set up the environment variables:
- Create a
.env
file in thebackend
directory and add your variables (e.g., database connection string, secret keys).
- Create a
-
Start the backend server:
npm start
- Navigate to the client directory:
cd ../client
- Install the dependencies:
npm install
- Start the client application:
npm run dev
- Start both the backend and the client as mentioned in the installation section.
- Open your browser and navigate to the client application's URL (typically
http://localhost:3000
). - Register or log in to start chatting.
- Backend: Node.js, Express.js, Socket.io
- Frontend: React, Vite, Socket.io-client
sync-chat/
├── backend/
│ ├── src/
│ │ ├── controllers/
│ │ ├── models/
│ │ ├── routes/
│ │ └── utils/
│ ├── .env
│ ├── package.json
│ └── server.js
├── client/
│ ├── src/
│ │ ├── components/
│ │ ├── pages/
│ │ └── utils/
│ ├── public/
│ ├── package.json
│ └── vite.config.js
└── README.md
Contributions are welcome! Currently, the project is being developed by xyzRihab and myself. If you'd like to contribute, please fork the repository and use a feature branch. Pull requests are warmly welcome.
This project is licensed under the MIT License.
- xyzRihab - GitHub Profile
- Your Name - GitHub Profile
- Inspiration from popular chat applications like Messenger and Viber.
- Special thanks to the open-source community for providing useful tools and libraries.