Production Link: https://oneworld-blush.vercel.app
Demo Video Link: https://www.youtube.com/watch?v=CsTe5ioElMI
This is a fully functional social media application built using the MERN (MongoDB, Express.js, React, Node.js) stack. It includes features such as user authentication, posts, likes, comments, and real-time messaging using Socket.io.
- User authentication (Login, Register, JWT-based authorization)
- Profile creation, editing & picture upload
- Password reset and email verification
- Persistent login to avoid repeated sign-ins
- Create, edit, and delete posts
- Like and comment on posts
- Delete posts and comments
- Text-to-speech responses from chatbot
- Highlight text feature
- Voice search feature
- Text to speech response
- Friend requests and follow/unfollow
- Friend-only filters on feeds
- Search users with optimization
- Voice search feature in search bar
- Creating and viewing stories
- Real-time activity alerts are received whenever :
- Someone likes someone's post or comment
- Someone's friend posts something
- Someone comments on someone's post
- A user adds someone or is added to someone's friend list
- A user removes someone or is removed from someone's friend list
- Real-time messaging with Socket.io
- Caching of search history and past queries using Redis
- Dockerized application setup
- Media storage on Cloudinary
- Responsive UI built with React
- Backend API using Express.js and MongoDB
- React.js
- Redux (for state management)
- React Router (for navigation)
- Fetch API (for API calls)
- Material UI (for styling)
- Node.js
- Express.js
- MongoDB (Mongoose for ORM)
- JSON Web Tokens (JWT) for authentication
- Socket.io for real-time messaging
- Redis Cloud for caching
Ensure you have the following installed:
- Node.js
- MongoDB
- npm or yarn
- Clone the repository:
git clone https://github.com/iamakashrout/Social-Media-Application.git cd Social-Media-Application - Install dependencies:
- For backend:
cd backend npm install - For frontend:
cd frontend npm install
- For backend:
- Set up environment variables:
- Create a .env file in the backend folder and add:
MONGO_URL=your_mongodb_connection_string JWT_SECRET=your_jwt_secret BASE_URL=https://oneworld.onrender.com EMAIL_HOST=your_email_host EMAIL_PORT=your_email_port EMAIL_USER=your_email EMAIL_PASS=your_email_passkey GOOGLE_API_KEY=your_google_api_key REDIS_URL=your_redis_url
- Create a .env file in the backend folder and add:
- Start the application:
- Run the backend server:
cd backend npm start - Run the frontend app:
cd frontend npm start
- Run the backend server:
- Access the application: Open
http://localhost:3000in your browser.
Feel free to fork the repo and submit pull requests. Make sure to follow coding standards and write clean, modular code.
For any issues, feel free to reach out via GitHub Issues.







