Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/gaurav031/scrape


https://github.com/gaurav031/scrape

Last synced: 25 days ago
JSON representation

Awesome Lists containing this project

README

        





Project Banner



webscraping
nextjs
tailwindcss
mongodb

A Ecom Price Tracking Application

## πŸ“‹ Table of Contents

1. πŸ€– [Introduction](#introduction)
2. βš™οΈ [Tech Stack](#tech-stack)
3. πŸ”‹ [Features](#features)
4. 🀸 [Quick Start](#quick-start)
5. πŸ•ΈοΈ [Snippets](#snippets)
6. πŸ”— [Links](#links)
7. πŸš€ [More](#more)

## 🚨 Tutorial

## πŸ€– Introduction

Developed using Next.js and Bright Data's webunlocker, this e-commerce product scraping site is designed to assist users in making informed decisions. It notifies users when a product drops in price and helps competitors by alerting them when the product is out of stock, all managed through cron jobs.

## βš™οΈ Tech Stack

- Next.js
- Bright Data
- Cheerio
- Nodemailer
- MongoDB
- Headless UI
- Tailwind CSS

## πŸ”‹ Features

πŸ‘‰ **Header with Carousel**: Visually appealing header with a carousel showcasing key features and benefits

πŸ‘‰ **Product Scraping**: A search bar allowing users to input Amazon product links for scraping.

πŸ‘‰ **Scraped Projects**: Displays the details of products scraped so far, offering insights into tracked items.

πŸ‘‰ **Scraped Product Details**: Showcase the product image, title, pricing, details, and other relevant information scraped from the original website

πŸ‘‰ **Track Option**: Modal for users to provide email addresses and opt-in for tracking.

πŸ‘‰ **Email Notifications**: Send emails product alert emails for various scenarios, e.g., back in stock alerts or lowest price notifications.

πŸ‘‰ **Automated Cron Jobs**: Utilize cron jobs to automate periodic scraping, ensuring data is up-to-date.

and many more, including code architecture and reusability

## 🀸 Quick Start

Follow these steps to set up the project locally on your machine.

**Prerequisites**

Make sure you have the following installed on your machine:

- [Git](https://git-scm.com/)
- [Node.js](https://nodejs.org/en)
- [npm](https://www.npmjs.com/) (Node Package Manager)

**Cloning the Repository**

```bash
git clone https://github.com/gaurav031/Scrape.git
cd Scrape
```

**Installation**

Install the project dependencies using npm:

```bash
npm install
```

**Set Up Environment Variables**

Create a new file named `.env` in the root of your project and add the following content:

```env
#SCRAPER
BRIGHT_DATA_USERNAME=
BRIGHT_DATA_PASSWORD=

#DB
MONGODB_URI=

#OUTLOOK
EMAIL_USER=
EMAIL_PASS=
```

Replace the placeholder values with your actual credentials. You can obtain these credentials by signing up on these specific websites from [BrightData](https://brightdata.com/), [MongoDB](https://www.mongodb.com/), and [Node Mailer](https://nodemailer.com/)

**Running the Project**

```bash
npm run dev
```

Open [http://localhost:3000](http://localhost:3000) in your browser to view the project.