Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/dsrathore1/social-media

Connect and share seamlessly with our Social Media App, a MERN stack-powered platform offering secure authentication, real-time updates, and interactive features for creating, liking, and commenting on posts.
https://github.com/dsrathore1/social-media

cicd docker javascript monorepo nextjs nginx nodjs npm-package reactjs typescript vercel

Last synced: 8 days ago
JSON representation

Connect and share seamlessly with our Social Media App, a MERN stack-powered platform offering secure authentication, real-time updates, and interactive features for creating, liking, and commenting on posts.

Awesome Lists containing this project

README

        

# Social Media App

## Table of Contents

- [Description](#description)
- [Features](#features)
- [Technologies](#technologies)
- [Installation](#installation)
- [Usage](#usage)
- [API Endpoints](#api-endpoints)
- [Contributing](#contributing)
- [License](#license)

## Description

This is a full-stack Social Media App built using the MERN (MongoDB, Express.js, React.js, Node.js) stack. It allows users to connect, share posts, and engage in social interactions. The application provides a seamless and responsive user interface, making it easy for users to navigate and interact with each other.

## Features

- **User Authentication:** Secure user authentication using JWT (JSON Web Tokens).
- **User Profiles:** Users can create and customize their profiles.
- **Post Creation:** Users can create and share posts with text, images, or links.
- **Like and Comment:** Users can interact with posts by liking and commenting on them.
- **Friend Requests:** Users can send and accept friend requests.
- **Real-time Updates:** Real-time updates for new posts and notifications using WebSockets.

## Technologies

- **Frontend:**
- React.js
- Redux for state management
- React Router for navigation
- Axios for API requests

- **Backend:**
- Node.js with Express.js
- MongoDB for the database
- Mongoose for ODM (Object Data Modeling)
- Passport.js for authentication

- **Real-time Updates:**
- Socket.io for WebSocket communication

## Installation

1. Clone the repository:

```bash
git clone https://github.com/your-username/social-media-app.git
```

2. Navigate to the project directory:

```bash
cd social-media-app
```

3. Install dependencies:

```bash
npm install
```

4. Set up environment variables:
- Create a `.env` file in the root directory.
- Define the following variables:

```
REACT_APP_API_URL=http://localhost:5000/api
REACT_APP_SOCKET_URL=http://localhost:5000
SECRET_KEY=your_secret_key
MONGODB_URI=your_mongodb_connection_string
```

5. Run the application:

```bash
npm run dev
```

## Usage

1. Open your browser and navigate to `http://localhost:3000` to access the frontend.
2. Start exploring and using the social media app.

## API Endpoints

- **GET /api/posts:** Get all posts.
- **GET /api/posts/:postId:** Get a specific post.
- **POST /api/posts:** Create a new post.
- **PUT /api/posts/:postId:** Update a post.
- **DELETE /api/posts/:postId:** Delete a post.

*Note: The above endpoints are just examples. You may have additional endpoints based on your app's functionality.*

## Contributing

Contributions are welcome! If you find any issues or have suggestions, feel free to open an issue or create a pull request.

## License

This project is licensed under the [MIT License](LICENSE).