A web application for searching and displaying reviews based on date and category. This application scrapes and categorizes reviews from the Google Play Store, allowing users to search reviews by selecting a date within the past 7 days and filtering by categories such as Bugs, Complaints, Crashes, Praises, and Others.
- Frontend: React.js
- Backend: Node.js, Express.js
- Database: MongoDB
- Web Scraper: google-play-scraper library
- LLM Classifier : @xenova/transformers library
(Please Note that the backend deployed server shuts down due to inactivity due to being a free teir service, Please give it a few moments to load the data , in the frist request )
(Please Note : Data is available from November 3rd, 2024 onwards )
You can access the deployed version of this application here: Live Demo Link
- Endpoint:
GET /api/reviews/search - Description: Searches for reviews based on selected date and category.
- Query Parameters:
date- Date in the formatYYYY-MM-DD(required)category- Category of review (required, one ofBugs,Complaints,Crashes,Praises,Other)
- Response:
{ "success": true, "count": 1, "data": [ { "_id": "672b6cfb1868bdeedd5d54a7", "content": "How come the game stopped working? I can't login, it's giving error 225.", "category": "Bugs", "date": "2024-11-04T16:48:26.251Z", "__v": 0 } ], "dateRange": { "from": "2024-10-29", "to": "2024-11-05" } }
- Node.js (version >= 14)
- MongoDB (local or cloud instance)
-
Clone the Repository
git clone https://github.com/<YOUR_USERNAME>/PlayStore-Review-Processor.git cd PlayStore-Review-Processor.git
-
Start the Backend
navgiate to backend folder
cd backendPull the Docker image
docker pull harshvg2021/review-processor:latest
Create a .env file in the backend folder with the following content:
PORT=5000 MONGODB_URI=your_mongodb_connection_string
Run the container:
docker run -p 5000:5000 --env-file .env harshvg2021/review-processor:latest
The backend server should now be running on http://localhost:5000
-
Start Frontend
navgiate to frontend folder
cd frontendInstall dependencies
npm install
Start the frontend:
npm start
You can now access the frontend running on http://localhost:3000
-vercel pro 20$ /pm
Assumptions : 10000 + visitors
-render pro 7$ /pm
Assumptions : Daily APi calls >50000 , concurrent user > 200
-MongoDB M0 cluster 9$ /pm
Assumptions : 100000+ records, Daily users > 300
- Scrapping: npmjs.com , google-play-scraper library
- LLM Classification: Medium Blog, npmjs.com, @xenova/transformers library
- Styling/CSS help for Frontend: ChatGPT
