Socioverse is a full-fledged social media platform built with the passion for community, clean code, and cutting-edge tech.
Developed using the powerful MERN stack (MongoDB, Express.js, React.js, and Node.js)
Link
Demo
Socioverse empowers you to:
- Connect: Foster meaningful interactions with friends, family, and like-minded individuals through an intuitive and engaging interface.
- Create: Express yourself through captivating posts, share your thoughts and experiences, and engage in stimulating conversations.
- Discover: Uncover a world of diverse perspectives and interests - explore communities, join discussions, and expand your horizons.
Follow these instructions to set up your development environment, which you need to do before you start contributing code to this project.
-
Clone the repository:
git clone https://github.com/AdwaithAthman/socioverse.git
-
Set up the required environment variables. Rename the
.env.example
file to.env
and provide the necessary values for your environment.
-
Navigate to the project directory:
cd socioverse
-
Navigate to client directory and server directory separately
cd client cd server
-
Install the dependencies separately(install in both client and server)
npm install
-
Start the development server:
- server side
npm run dev
- client side
npm run dev
- Using Docker compose:
docker-compose up
Stack / Feature | Technology Used |
---|---|
Architecture | Clean Architecture |
Frontend | React, Redux, Tailwind CSS, Typescript |
Backend | Node js, Express js, Typescript |
Normal Authentication | JSON Web Token JWT |
Google Authentication | Firebase Auth, JWT |
Database | Mongo DB |
Caching | Redis |
Version control | Git |
Image storage | Cloudinary |
Real-time Chat Service | Socket io |
Mailing Service | Node Mailer |
Video Service | Agora |
Containerization | Docker |
Deployed | AWS |
Reverse Proxy | Nginx |
CD | GitHub-Actions |
Contributions are always welcome! There are multiple ways you can contribute:
If you encounter any bugs or issues, please open a new issue in this repository. Be sure to include a title and clear description, as much relevant information as possible, and a code sample or an executable test case demonstrating the expected behavior that is not occurring.
If you have a suggestion that could make this project better, please open a new issue in this repository. Be sure to include a title and clear description, as much relevant information as possible, and a "Steps to Reproduce" section which indicates the steps which reproduce the new behavior.
If you'd like to contribute code (e.g., by fixing a bug, implementing a new feature, etc.), please follow these steps:
- Fork this repository.
- Create a branch:
git checkout -b your-feature
- Make your changes and commit them:
git commit -m 'Add your feature'
- Push your changes to your forked repository:
git push origin your-feature
- Open a pull request from your branch in the forked repository to the original repository.
Thank you for your contributions!
For any questions, feedback, or inquiries, please reach out to:
- Adwaith Athman
- Email: [email protected]
- LinkedIn: View