Skip to content

Threads is a modern social media platform built with the MERN stack, offering users a space to connect, share, and interact. With features like real-time messaging, post creation, and profile management, Threads provides a seamless and engaging experience.

Notifications You must be signed in to change notification settings

rajeevkrS/Threads-Social-App

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

61 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Threads App

This application is deployed on Render. Please check it out here.

threads-thumbnail

Introduction

Threads is a full-stack social media application built using the MERN stack (MongoDB, Express.js, React.js, Node.js). Designed to provide a dynamic and engaging user experience, Threads allows users to connect, share, and interact with each other seamlessly. The application offers a wide range of features to ensure a modern social media experience, with functionalities like real-time chat, post creation, and user interaction. Utilizing the MERN stack ensures a smooth and robust performance, making Threads a reliable platform for social interaction.

🖥️ Tech Stack

Frontend:

React  React Router  Static Badge   Static Badge  Static Badge  

Backend:

Static Badge   Static Badge   MongoDB  Static Badge  

Deployed On:

Render 

Features

  • User Authentication: Secure user authentication for account creation and login.
  • Profile Management: Logged-in users can edit and update their profile.
  • Freeze: Logged-in users can freeze/disable their account.
  • Posts: Create, read, delete, and share posts with their followers.
  • Follow/Unfollow Users: Discover and connect with new users through the suggestion list, and manage your network by following or unfollowing users.
  • Like/Unlike Posts: Engage with posts by liking or unliking them.
  • Comment: Comment on posts to interact and share your thoughts with others.
  • Search: Easily search user by username to start a conversation.
  • Real-Time Messaging: Chat with other users in real-time, with support for both text and image messages.
  • Light and Dark Mode: Toggle between light and dark themes for a personalized user interface.
  • Responsive Design: Fully responsive design for seamless use on any device.

Installation

  1. Clone the repository:

    git clone https://github.com/rajeevkrS/Threads-Social-App
  2. Install dependencies in root folder:

    npm install
  3. Set up environment .env variables:

    # for port
    PORT= your port number
    
    # for mongo database
    MONGODB_URI= your mongo url
    
    # for password secret
    JWT_SECRET= your jwt secret
    
    # for cloudinary setup
    CLOUDINARY_CLOUD_NAME= your cloudinary name
    CLOUDINARY_API_KEY= your cloudinary api key
    CLOUDINARY_API_SECRET= your cloudinary api secret
    
    # for frontend url
    FRONTEND_URL= your frontend url
    
    # for backend url
    BACKEND_URL= your backend url
  4. Run the application:

    Build the app:

    npm run build

    Start the app:

    npm start

API Endpoints

Here are listed all available API endpoints along with a brief description of each.

Users Routes:

  • POST /api/users/signup: creating new user
  • POST /api/users/login: user logged in
  • POST /api/users/logout: user logged out
  • PUT /api/users/update/:id: update user profile
  • POST /api/users/follow/:id: follow & unfollow users
  • GET /api/users/profile/:query: get other user's profile
  • GET /api/users/suggested: get new users suggestion
  • PUT /api/users/freeze: freeze & unfreeze account

Post Routes:

  • POST /api/posts/create: create posts
  • PUT /api/posts/like/:id: like & unlike the posts
  • PUT /api/posts/reply/:id: reply on posts
  • GET /api/posts/:id: get any posts
  • DELETE /api/posts/:id: delete posts
  • GET /api/posts/user/:username: get user posts
  • GET /api/posts/feed: get all feed posts

Chat Routes:

  • POST /api/messages: send messages to other users
  • GET /api/messages/:otherUserId: get all messages between the user
  • GET /api/messages/conversations: get all conversation that logged in user has conversed with

👤 Developer

RAJEEV KUMAR SUDHANSU

📬 Contact

If you want to contact me, you can reach me through below handles.

LinkedIn

Gmail

Contribution:

Feel free to contribute to the project by opening issues or creating pull requests. Your feedback and suggestions are highly appreciated.

Show your support by Star 🌟 this repo!

About

Threads is a modern social media platform built with the MERN stack, offering users a space to connect, share, and interact. With features like real-time messaging, post creation, and profile management, Threads provides a seamless and engaging experience.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages