Social media web application clone along the lines of Facebook, and Twitter. This will include functionality of posting, commenting, and sharing other user’s posts, user authentication, log in using Google authentication, Users can leave comments on posts. Comments are associated with specific posts and users.
- Sign up using a registration form.
- Log in using Google authentication.
- Authenticated users can create posts with text and optional image uploads.
- Posts are securely stored in the MongoDB database.
- Users can leave comments on posts.
- Comments are associated with specific posts and users.
- Comment notifications are sent via email using nodemailer.
- Users have profiles showcasing their information.
- Profiles display the user's posts and other relevant details.
- Users can easily update their profile information.
- Profile images can be updated using the multer library.
- Utilizes the kue library for efficient background job processing.
- Background jobs are used for sending emails via nodemailer.
To run the Social Media Web Application locally, follow these steps:
- Clone the repository:
git clone https://github.com/your-username/social-media-app.git
- Navigate to the project directory:
cd social-media-app
- Install dependencies:
npm install
- Set up environment variables:
- Create a
.env
file and add the following variables:PORT=3000 MONGODB_URI=your_mongodb_uri GOOGLE_CLIENT_ID=your_google_client_id GOOGLE_CLIENT_SECRET=your_google_client_secret SMTP_HOST=your_smtp_host SMTP_PORT=your_smtp_port SMTP_USER=your_smtp_username SMTP_PASS=your_smtp_password
- Create a
- Start the application:
npm start
Visit http://localhost:3000
in your web browser to access the application.