https://github.com/abdulvahabaa/devconnect-socialmedia
This is a social media website. Users can connect, follow/unfollow, like, comment, and reply to postings. It supports S3 uploads, Light/Dark Modes, and JWT Authentication. Admins can block/unblock users and manage reported posts. The platform offers search, sort, and filter tools, PDF/CSV export, and printing options.
https://github.com/abdulvahabaa/devconnect-socialmedia
aws ec2-instance express-js git jwt-authentication meterial-ui mongodb mongoose nginx node-js react redux-toolkit s3-bucket
Last synced: 3 months ago
JSON representation
This is a social media website. Users can connect, follow/unfollow, like, comment, and reply to postings. It supports S3 uploads, Light/Dark Modes, and JWT Authentication. Admins can block/unblock users and manage reported posts. The platform offers search, sort, and filter tools, PDF/CSV export, and printing options.
- Host: GitHub
- URL: https://github.com/abdulvahabaa/devconnect-socialmedia
- Owner: abdulvahabaa
- Created: 2023-04-29T17:47:47.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2025-04-19T09:18:30.000Z (about 1 year ago)
- Last Synced: 2025-10-12T15:21:21.775Z (9 months ago)
- Topics: aws, ec2-instance, express-js, git, jwt-authentication, meterial-ui, mongodb, mongoose, nginx, node-js, react, redux-toolkit, s3-bucket
- Language: JavaScript
- Homepage: https://www.devconnect.website
- Size: 12.3 MB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
README
# DevConnect-SocialMedia
> A developer-focused social networking site that enables users to connect, share, and collaborate. Built with modern web technologies for a seamless experience.
## Table of Contents
- [DevConnect-SocialMedia](#devconnect-socialmedia)
- [Table of Contents](#table-of-contents)
- [Video Demo](#video-demo)
- [Features](#features)
- [Technologies Used](#technologies-used)
- [Installation and Setup](#installation-and-setup)
- [Prerequisites](#prerequisites)
- [Environment Setup](#environment-setup)
- [Running the Application](#running-the-application)
- [Usage](#usage)
- [Swagger API Documentation](#swagger-api-documentation)
- [APIs](#apis)
- [Links](#links)
### Video Demo
[link-to-video-demo](https://drive.google.com/file/d/1vejLUkzmSxXgqY5tetKPsg4fin-EIOE0/view?usp=sharing)
## Features
- **Sign Up/Sign In**: Create an account or log in to start using the platform.
- **Profile Management**: Customize your profile, add a bio, and upload a profile picture.
- **Posts**: Create, edit, and delete posts. Interact with posts by liking, commenting, and replying.
- **Real-Time Chat**: Use the chat feature to communicate with other users in real-time.
- **Admin Features**: Admins can manage user accounts and posts, including blocking and unblocking users and handling reported posts.
- **User Interactions**: Connect with other developers by following/unfollowing, liking, commenting, and replying to posts.
- **Real-Time Communication**: Enjoy real-time chat and call functionalities.
- **Media Uploads**: Utilize AWS S3 Bucket for image and data uploads.
- **Customization**: Switch between Light and Dark Modes for better user experience.
- **Security**: Secure JWT Authentication for safe user sessions.
- **Admin Tools**: Admins can block/unblock users and manage reported posts.
- **Data Management**: Advanced search, sort, and filter tools, and export data to PDF and CSV formats.
## Technologies Used
- **Frontend**: React, Material UI, Redux-Toolkit
- **Backend**: Node.js, Express.js
- **Database**: MongoDB
- **Hosting**: AWS EC2, Nginx
- **Storage**: AWS S3 Bucket
- **Authentication**: JWT
## Installation and Setup
### Prerequisites
Before you begin, ensure you have met the following requirements:
- Node.js and npm installed
- MongoDB installed and running
- AWS account for S3 bucket setup
### Environment Setup
1. Clone the repository:
```bash
git clone https://github.com/yourusername/DevConnect-SocialMedia.git
cd DevConnect-SocialMedia
```
2. Install dependencies for the server side:
```bash
cd server
npm install
```
3. Create an `.env` file in the server directory and add the following:
```env
MONGO_URL="YOUR_MONGODB_URI"
JWT_SECRET="YOUR_JWT_SECRET"
PORT=3001
ADMIN_EMAIL="admin@gmail.com"
ADMIN_PASSWORD="admin"
ADMIN_JWT_SECRET="YOUR_ADMIN_JWT_SECRET"
BUCKET_NAME='YOUR_S3_BUCKET_NAME'
BUCKET_REGION='YOUR_BUCKET_REGION'
ACCESS_KEY='YOUR_AWS_ACCESS_KEY_ID'
SECRET_ACCESS_KEY='YOUR_AWS_SECRET_ACCESS_KEY'
```
4. Install dependencies for the client side:
```bash
cd ../client
npm install
```
### Running the Application
1. Start the backend server:
```bash
cd ../server
npm run server
```
2. Start the frontend development server:
```bash
cd ../client
npm start
```
3. Open your browser and navigate to `http://localhost:3000`.
## Usage
### Swagger API Documentation
### APIs
## Links
For further information, feel free to reach out:
- [Project Website](http://www.devconnect.website) *(expired because free period is over)*
- GitHub Repository: [DevConnect-SocialMedia](https://github.com/yourusername/DevConnect-SocialMedia)
---
Thank you for visiting DevConnect-SocialMedia! Happy coding!