Skip to content

monika163/Social-Media-App

Repository files navigation

Social Media App

This project is a full-stack social media web application 🌐 that has been developed using the MERN stack 🖥️ and Rest API 🚀, In this social media platform where you can share posts, like/unlike posts, Follow/Unfollow users and more.

Deployed link : https://social-media-app-cbw8.onrender.com

Notes App with MongoDB, Express, React & Nodejs (MERN).

Key Features

  • Register and Login users
  • Posts
    • Create Post : Posts include text(caption) and image
    • Delete Posts
    • Like/Unlike Post
    • Comment to a Post
    • View all comments on a post
  • Realtime Messaging
    • Dark and Light Mode
    • Chat App With Image Support
    • Seen/Unseen Status for Messages
    • Notification sounds
    • Search for Chat
  • user suggestions menu
  • Profile Pages
    • Change profile picture
    • Change Name, email , password
    • Follow/Unfollow Users
    • Freeze Your Account
    • Add your own bio
  • profile page shows user details and posts with following and followers menu
  • password is stored in database in encrypted format with salt
  • Dark Mode Support in Chat Page

Technologies used

This project was created using the following technologies.

Frontend

  • React js - JavaScript library that is used for building user interfaces specifically for single-page applications
  • React Hooks - For managing and centralizing application state
  • react-router-dom - To handle routing
  • axios - For making Api calls
  • Css - For User Interface

Backend

  • Node js -A runtime environment to help build fast server applications using JS
  • Express js -The server for handling and routing HTTP requests
  • cors - Provides a Connect/Express middleware
  • Dotenv - Zero Dependency module that loads environment variables
  • Mongoose - For modeling and mapping MongoDB data to JavaScript
  • Nodemon - an auto-refresh the server on code change
  • jsonwebtoken - For authentication
  • Bcryptjs - For data encryption
  • concurrently - allow coders to run multiple scripts with one command
  • cloudinary - Cloudinary is an end-to-end image- and video-management solution for websites and mobile apps, covering everything from image and video uploads, storage, manipulations, optimizations to delivery
  • cookie-parser - The cookie-parser middleware simplifies the process of parsing and managing cookies in ExpressJS applications, providing developers with convenient access to client-side cookies for various purposes, including session management and security
  • socket.io - Socket.IO enables real-time bidirectional event-based communication

Database

  • MongoDB - It provides a free cloud service to store MongoDB collections.

Configuration and Setup

Setup .env file

PORT=...
MONGO_URI=...
JWT_SECRET=...
CLOUDINARY_CLOUD_NAME=...
CLOUDINARY_API_KEY=...
CLOUDINARY_API_SECRET=...

Installation

Install dependencies for server
npm install

Install dependencies for client
cd client
npm install

Run the client & server with concurrently
npm run dev

Run the Express server only
npm run server

Run the React client only
npm run client

Server runs on http://localhost:5000 and client on http://localhost:3000

Screenshots

Login

2  login


Sign Up

1  register


Home Page

3  home page


Post

4  post


Post Like, Comment

5  post like comment


Profile

6  profile


Update Profile

7  update profile


8. Search for Chats and Nothification

8  search for chats and nothification


Chat

9  chat


Profile Follow

10  profile - follow


Profile UnFollow

11  unfollow


Author

About

This project is a full-stack social media web application that has been developed using the MERN stack and Rest API, This is social media platform where you can share posts, react to posts, comments on posts, follow users and more.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages