A social media platform built with React.js, Node.js, Express.js, MongoDB, and more!
Features • Technologies • Installation • Usage • Contributing •
Experience the power of Threads Clone with these exciting features:
-
🔐 Authentication and Authorization: Secure your app with JWT-based user authentication and authorization.
-
📝 Create Posts with Images: Share your thoughts and moments with the world, including captivating images.
-
❌ Delete Posts: Have full control over your content; remove posts when needed.
-
🔄 Update User Profile: Keep your profile information up to date effortlessly.
-
❤️ Like/Unlike a Post: Express your appreciation for posts with likes and easily change your mind.
-
💬 Reply To a Post: Engage in meaningful discussions by responding to posts.
-
🔗 Follow/Unfollow Users: Stay connected with friends and discover new people; manage your social network effortlessly.
-
🌓 Dark/Light Mode: Customize your experience with a dark or light mode switch.
🚀 React.js - Frontend UI
🌐 Node.js - Backend server
⚡ Express.js - Web application framework
📦 MongoDB - Database for storing data
🎨 Chakra UI - Modern UI components
☁️ Cloudinary - Image uploads and storage
🔄 Recoil - State management for React
- Clone the repository:
git clone https://github.com/your-username/threads-clone.git
cd threads-clone
- Install the dependencies for both the frontend and backend:
# Install frontend dependencies
cd frontend
npm install
# Install backend dependencies
cd ../backend
npm install
- Set the environment variables for backend
PORT=5000
MONGO_URI=
JWT_SECRET=
CLOUDINARY_CLOUD_NAME=
CLOUDINARY_API_KEY=
CLOUDINARY_API_SECRET=
cd frontend
npm run dev
cd backend
npm run dev
Open your browser and navigate to http://localhost:3000 to view the application.
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.
- If you have suggestions for adding or removing something, feel free to open an issue to discuss it, or directly create a pull request with the necessary changes.
- Create individual PR for each suggestion.
- 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