SocioVerse is a dynamic social networking website that aims to connect people around the globe. It provides a platform for users to create posts, interact with each other through comments and replies, stay updated in real-time, engage in private conversations via chat, and even have audio-video calls.
- Create Post: Users can create posts to share their thoughts, photos, videos, and links with their followers.
- Update Post: Users can edit or delete their posts as needed.
- Add Comment: Users can comment on posts to express their opinions or provide feedback.
- Add Reply: Users can reply to comments, facilitating deeper discussions.
- Realtime Updates: The website provides real-time updates, ensuring users stay informed about new posts, comments, and replies without refreshing the page.
- Chat: SocioVerse offers a chat feature for private conversations between users.
- Audio Video Call: Users can have audio and video calls with their connections, making communication more immersive.
- Follow/Unfollow User: Users can follow or unfollow other users to customize their newsfeed and stay connected with the people they care about.
SocioVerse is built using the following technologies:
- Frontend: HTML, CSS, JavaScript, React.js
- Backend: Node.js, Express.js, MongoDB
- Realtime Updates: WebSocket (e.g., Socket.IO)
- Chat and Calls: WebRTC
To run SocioVerse locally, follow these steps:
- Clone this repository.
- Navigate to the project directory.
- Install dependencies using
npm install
. - Set up your MongoDB database and configure the connection in the backend.
- Start the backend server using
npm start
. - Navigate to the
client
directory. - Install frontend dependencies using
npm install
. - Start the frontend server using
npm start
. - Access the application in your web browser at
http://localhost:3000
.
We welcome contributions from the community! If you'd like to contribute to SocioVerse, please follow these guidelines:
- Fork the repository.
- Create your feature branch (
git checkout -b feature/YourFeature
). - Commit your changes (
git commit -am 'Add some feature'
). - Push to the branch (
git push origin feature/YourFeature
). - Create a new Pull Request.
This project is licensed under the MIT License.
- .gitignore
- README.md
- client
- .env
- .eslintrc.cjs
- .gitignore
- README.md
- index.html
- package-lock.json
- package.json
- postcss.config.js
- public
- vite.svg
- src
- App.css
- App.jsx
- ProtectRoutes
- PrivateRoute.jsx
- SocketClient.jsx
- assets
- network-illustration.png
- network-illustration.svg
- react.svg
- success-green-check-mark-icon.svg
- upload.png
- audio
- got-it-done-613.mp3
- ringring.mp3
- components
- Authentication
- EmailVerfication.jsx
- Forms
- DatePickerComponent.jsx
- InputField.jsx
- RadioButtonField.jsx
- LoginComponent.jsx
- RegisterComponent.jsx
- Home
- DashBoard
- DashBoardListing.jsx
- Header
- Header.jsx
- SearchBar.jsx
- SearchResultItem.jsx
- Main
- Main.jsx
- PostFeed
- Comment
- CommentDisplay.jsx
- CommentInput.jsx
- CommentItem.jsx
- Reply
- ReplyComponent.jsx
- ReplyInput.jsx
- CommentCard.jsx
- CreatePostModal.jsx
- PostCard.jsx
- PostDetail.jsx
- PostFeed.jsx
- PostImageCaraousel.jsx
- PostInput.jsx
- PostsListing.jsx
- Suggestions
- PostSuggestion.jsx
- PostSuggestionComponent.jsx
- Comment
- Loader
- Loader.jsx
- Message - CallModal.jsx - ChatBox.jsx - ConversationCard.jsx ...
- DashBoard
- Authentication
- server
- .gitignore
- apifeatures
- apiFeature.js
- config
- db.js
- imageupload.js
- controllers
- authCtrl.js
- commentCtrl.js
- messageCtrl.js
- notifyCtrl.js
- postCtrl.js
- userCtrl.js
- errors
- customErrors.js
- middlewares
- authMiddleware.js
- errorMiddleware.js
- verficationmiddleware.js
- models
- comment.js
- conversation.js
- message.js
- notify.js
- post.js
- user.js
- routes
- comment.js
- message.js
- notify.js
- post.js
- user.js
- server.js
- socketServer.js
- utils
- generateverificationtoken.js
- sendToken.js
- tokenUtils.js
- package-lock.json
- package.json