Skip to content
This repository has been archived by the owner on Dec 20, 2024. It is now read-only.

ZOUHAIRFGRA/social-media-app-mern

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

62 Commits
 
 
 
 
 
 

Repository files navigation

Social Media Platform

Overview

This is a social media platform that allows users to chat with each other, follow other users, like and comment on posts, and create new posts. The application is built with a modern tech stack, including React for the frontend, Node.js for the backend, MongoDB for the database, and Socket.IO for real-time communication.

Features

  • User Registration and Authentication: Users can sign up and log in to their accounts.
  • User Profiles: Users can view and edit their profiles, including uploading profile pictures.
  • Real-time Chat: Users can chat with each other in real-time.
  • Follow/Unfollow Users: Users can follow or unfollow other users.
  • Post Creation: Users can create new posts with text and images.
  • Like and Comment on Posts: Users can like and comment on posts.
  • Responsive Design: The application is responsive and works well on both desktop and mobile devices.

Tech Stack

  • Frontend: React, Redux, React Bootstrap, React Router
  • Backend: Node.js, Express, MongoDB
  • Real-time Communication: Socket.IO
  • Image Uploads: Cloudinary
  • Styling: CSS, TailwindCss

Installation

Prerequisites

  • Node.js (v14 or later)
  • MongoDB
  • Cloudinary account (for image uploads)
  • sendgrip mail

Setup

  1. Clone the repository:
    git clone https://github.com/your-username/your-repo.git
    cd your-repo
  2. Install server dependencies:
    cd backend
    npm install
  3. Install client dependencies:
    cd ./client
    npm install
  4. Create a .env file in the server directory and add the following environment variables:
      fill your data
    
  5. Start the server:
    cd ./backend
    npm run dev
  6. Start the frontend:
    cd ./client
    npm run dev

Usage

Registration and Login

  • Visit the registration page to create a new account.
  • Log in with your credentials to access the platform.
  • User Profile
  • View and edit your profile.
  • Upload a profile picture.

Chat

  • Open a chat with another user to start a real-time conversation.
  • Follow Users
  • Visit another user's profile to follow or unfollow them.

Posts

  • Create a new post with text and an optional image.
  • Like and comment on posts.

Contributing

Contributions are welcome! Please fork the repository and create a pull request with your changes.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Contact

If you have any questions or feedback, please contact me at [zouhairfgra@gmail.com].

Releases

No releases published

Packages

No packages published

Languages