Skip to content

Spools: A MERN stack social media platform inspired by Threads, featuring real-time chatting, image posting, liking, and replying. Built with React, Node.js, Express, and MongoDB. Includes functionalities like user authentication, profile updates, Cloudinary for media management, and responsive design with Tailwind CSS.

Notifications You must be signed in to change notification settings

tanmay-tiwari-20/Spools

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

62 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Spools

Spools is a social media platform with functionalities similar to the Threads app, allowing users to create profiles, post images, like and reply to posts, and engage in real-time chatting. This project is built using the MERN stack, and it combines frontend, backend, and database operations for a seamless user experience.

🌟 Features

User Management

  • User Authentication: Sign up, login, and logout functionality with secure password hashing.
  • Profile Management: Users can update their profile, including changing their name, username, bio, and profile picture.
  • View Profiles: Users can view other user profiles and follow them.

Posts & Interactions

  • Create Posts: Users can upload images and create posts.
  • Feed: Displays a feed of posts from followed users, similar to Pinterest and Instagram.
  • Like & Reply to Posts: Users can like posts and add comments/replies to engage with the content.
  • Save Posts: Users have the ability to save posts they like for later viewing.

Real-time Chatting

  • Direct Messaging: Users can chat with each other in real time.
  • Seen Status: Messages are marked as seen when the recipient views them.
  • Message Notifications: Receive notifications for new messages and replies.

Responsive Design

  • Light & Dark Mode: Custom-tailored light and dark mode styles for a better user experience.
  • Responsive UI: Designed for all screen sizes, ensuring a consistent experience across desktop, tablet, and mobile devices.

💻 Tech Stack

Frontend

  • React: For building a dynamic and responsive user interface.
  • Tailwind CSS: For styling the UI with custom colors, light/dark mode, and responsiveness.
  • Chakra UI: For toast notifications and modals.
  • Recoil: For state management.
  • Cloudinary: For handling profile picture uploads.
  • JavaScript (ES6+): For client-side logic and interactions.

Backend

  • Node.js: For server-side logic.
  • Express.js: For building the REST API.
  • MongoDB: As a NoSQL database to store user data and posts.
  • Mongoose: For data modeling and validation.
  • JWT (JSON Web Tokens): For authentication and authorization.
  • bcrypt.js: For hashing passwords.

Other Tools

  • Git & GitHub: For version control.
  • Postman: For testing API endpoints.
  • Figma: For designing the UI layout and prototyping.

🚀 Getting Started

Follow these steps to get a local copy of the project up and running.

Prerequisites

  • Node.js installed on your machine.
  • MongoDB installed locally or a MongoDB Atlas account.
  • Cloudinary Account for handling image uploads.

About

Spools: A MERN stack social media platform inspired by Threads, featuring real-time chatting, image posting, liking, and replying. Built with React, Node.js, Express, and MongoDB. Includes functionalities like user authentication, profile updates, Cloudinary for media management, and responsive design with Tailwind CSS.

Topics

Resources

Stars

Watchers

Forks

Languages