WhisperSync is a real-time chat application built with React, Vite, React Bootstrap, Redux, and Context API. This repository contains the frontend codebase for WhisperSync.
Before you start, make sure you have the following prerequisites:
- Node.js installed (at least v14.0.0)
- Yarn package manager (you can also use npm)
- Backend API URL configured in a
.env
file asVITE_BACKEND_URL
-
Clone this repository:
git clone https://github.com/DemonicAK/whispersync-client.git
-
Navigate to the project folder:
cd whispersync-client
-
Install dependencies:
npm install
-
Start the development server:
npm dev
The application will be accessible at
http://localhost:5173
.
The project follows a well-organized folder structure to make it easy to navigate and maintain:
- assets: Contains images and other assets used in the application.
- components: Reusable UI components, including
MessageForm
,Navigation
, andSidebar
. - context: Houses the
AppContext
, which manages global state. - features: Contains Redux slices, such as
userslice
, to manage specific features. - pages: Defines the main application pages, including
Chat
,Home
,Login
, andSignup
. - services: Includes
appAPI
for making API requests to the backend. - store.jsx: Configuration for the Redux store.
WhisperSync offers the following features:
- User registration and authentication
- Real-time chat functionality
- Message sending and receiving
- User profiles and avatars
- Responsive design with React Bootstrap
To use WhisperSync, follow these steps:
-
Ensure you have set up the backend server and configured the API URL in the
.env
file. -
Start the frontend development server using
npm run dev
. -
Access the application in your web browser at
http://localhost:5173
. -
Register or log in to your account.
-
Start chatting with other users in real-time using the chat interface.
We welcome contributions to make WhisperSync even better. To contribute:
-
Fork this repository.
-
Create a new branch for your feature or bug fix:
git checkout -b feature/my-feature
-
Make your changes and commit them:
git commit -m "Add my feature"
-
Push your changes to your fork:
git push origin feature/my-feature
-
Create a pull request to merge your changes into the main repository.
Please follow the code of conduct and the contribution guidelines when contributing.
This project is licensed under the MIT License - see the LICENSE file for details.