Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/shubhangam333/socioverse


https://github.com/shubhangam333/socioverse

mongodb nodejs react socket-io webrtc webrtc-video

Last synced: about 2 months ago
JSON representation

Awesome Lists containing this project

README

        

# SocioVerse

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.

## Table of Contents

- [Features](#features)
- [Technologies Used](#technologies-used)
- [Installation](#installation)
- [Contributing](#contributing)
- [License](#license)
- [Contact](#contact)
- [Directory Tree](#directory-tree)

## Features

- **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.

## Technologies Used

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

## Installation

To run SocioVerse locally, follow these steps:

1. Clone this repository.
2. Navigate to the project directory.
3. Install dependencies using `npm install`.
4. Set up your MongoDB database and configure the connection in the backend.
5. Start the backend server using `npm start`.
6. Navigate to the `client` directory.
7. Install frontend dependencies using `npm install`.
8. Start the frontend server using `npm start`.
9. Access the application in your web browser at `http://localhost:3000`.

## Contributing

We welcome contributions from the community! If you'd like to contribute to SocioVerse, please follow these guidelines:

1. Fork the repository.
2. Create your feature branch (`git checkout -b feature/YourFeature`).
3. Commit your changes (`git commit -am 'Add some feature'`).
4. Push to the branch (`git push origin feature/YourFeature`).
5. Create a new Pull Request.

## License

This project is licensed under the [MIT License](LICENSE).

## Directory Tree

- .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
- Loader
- Loader.jsx
- Message - CallModal.jsx - ChatBox.jsx - ConversationCard.jsx
...
- 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