An awesome Real time chat application with message encryption!
View Demo
·
Report Bug
·
Request Feature
Table of Contents
WeConnect is a Real time chat application with message encryption & password hashing. This is an individual project with took around 8 days to complete.
Features:
- End to End encryption done (users messeges do not go to server side directly, they are encrypted with a key which is only accessable to client side. They are only decrypted once the messeges are fetched in client side using the key which was used for encrypting it)
- Messenging (Single/Group chat)
- Authentication (JWT + httpOnly Cookies)
- Responsiveness
- Profile Images using cloudinary (Users can upload their profile images)
- Searching users from database
- Debouncing (a debounce of 500ms is implemented in search results)
- Context API
- Creating groups in individual chats
- Loading indicators
- Dark/Light themes
- Chat update time is dynamic
Currently Working on:-
- OAuth
- Adding Multer to make user profile
This section should list any major frameworks/libraries used to bootstrap your project. Leave any add-ons/plugins for the acknowledgements section. Here are a few examples.
The setup of the project is quite easy. Clone the repository, there are two main folders named "Frontend" & "Backend". You need to setup both server(Backend) & frontend(Frontend) seperately.
Node version 14 OR 14+ is preferable, to check your current node version you can use the command below-
- npm
node -v
Step by step setup of the project in local environment.
-
Clone the repo
git clone https://github.com/aaryansinha16/weconnect.git
-
First let's start the backend server
cd backend
-
Install node modules
npm i
-
Finally Start Command
npm start
With this your backend server is live now(locally), Now to start the frontend create a new instance of terminal in the same folder then:-
-
Go to the frontend folder
cd frontend
-
Install node modules
npm i
-
Finally Start Command
npm run dev
NOTE: I have used Vite + React in frontend, thus remember to use npm run dev
for start command
See the open issues for a full list of proposed features (and known issues).
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Aaryan - @aaryansinha16 - aaryansinha16@gmail.com
Project Link: https://we-connect-now.vercel.app/