An intelligent E-Commerce platform built for Walmart as part of Sparkathon 2025. This project leverages Natural Language Processing (NLP) and price optimization algorithms to provide personalized shopping experiences, smarter recommendations, and maximized savings for users.
Frontend: http://localhost:3000
Backend: http://localhost:8000
- 🔍 NLP-Powered Recommendation System
- 💸 Dynamic Price Optimization
- 🛒 Full-featured Shopping Cart
- 🔐 User Authentication System
- 📊 MongoDB-Powered Data Store
- ⚡ React.js + Flask Integration
- React.js
- React Router DOM
- Axios
- Flask
- MongoDB (via PyMongo)
- Flask-CORS
- Custom Middleware for Authentication
- NLTK (Natural Language Toolkit)
- Scikit-learn's TfidfVectorizer
git clone https://github.com/dev04sa/smart-shopper-walmart_hackthon.git
cd smart-shopper-walmart_hackthoncd client
npm installcd ../server
pip install -r requirements.txt-
You can either:
- Run MongoDB locally (
mongodb://localhost:27017) - Or use MongoDB Atlas – update your connection string in
app.py.
- Run MongoDB locally (
# Example in app.py
client = pymongo.MongoClient("your_mongodb_connection_url")cd client
npm startRuns on: http://localhost:3000
cd server
python app.pyRuns on: http://localhost:8000
- Signup/Login functionality
- JWT-based secure session handling
- Role-based access to features
- Uses
NLTKandTfidfVectorizer - Analyzes user search history and preferences
- Returns context-aware, top-N product suggestions
- Algorithmically adjusts and optimizes product prices
- Aims to provide users with best-value deals
- Add to cart, remove, update quantity
- Seamless checkout experience
- Upload/manage product listings
- Track user behavior for feedback learning
- 🧾 Order History & Tracking
- 🧠 Advanced ML-based Price Prediction
- 🗣️ Voice-based search using NLP
- 📱 Mobile App using Flutter or React Native
Devendra Singh 🔗 GitHub – @dev04sa Abdul Subhan 🔗 GitHub – @gitsubh7
This project is developed as part of a hackathon and is currently open for educational and showcase purposes. For commercial use, please contact the contributor.