Skip to content

AZN-Intelligence/ShopLyft

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

48 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

ShopLyft - AI-Powered Grocery Shopping Optimisation

Transform your grocery shopping with AI-powered route optimisation and automated cart management across Australian supermarkets.

ShopLyft is a comprehensive platform that combines natural language processing, route optimisation, and browser automation to revolutionise grocery shopping. Simply input your shopping list, and ShopLyft will find the best stores, optimise your route, and even add items to your cart automatically.

✨ Key Features

🎯 Core Functionality

  • πŸ“ Natural Language Input: Takes your shopping list in plain English
  • πŸ“ Location-Based Optimisation: Uses your location to find nearby stores
  • πŸ’° Best Price Discovery: Finds the best prices across major supermarkets (Woolworths, Coles, ALDI)
  • πŸ—ΊοΈ Optimal Route Generation: Creates the most efficient shopping route
  • πŸ›’ Auto-Cart Integration: Automatically adds items to supermarket websites for easy pickup

πŸ€– AI-Powered Intelligence

  • 🧠 Agentic AI Processing: Leverages ConnectOnion's AI for multi-step automation
  • πŸ“Š Price vs Time Analysis: Balances cost savings with travel time
  • 🎯 Smart Product Matching: Matches your requests to actual store products
  • ⚑ Real-Time Optimisation: Processes shopping lists in under 2 minutes

🌐 Seamless Integration

  • πŸ”Œ Browser Extension: Chrome extension with Manifest V3 for auto-carting
  • πŸ“± Responsive Design: Works on desktop, tablet, and mobile devices
  • πŸͺ Multi-Store Support: Integrated with Australia's largest supermarket chains
  • πŸš€ One-Click Setup: Automated development environment setup

πŸ’‘ Student-Focused Benefits

  • ⏰ Time Saving: Eliminates the need to compare prices manually
  • πŸ’Έ Money Saving: Finds the best deals across multiple stores
  • πŸ“‹ Simplified Planning: Converts weekly shopping into an optimised plan
  • πŸŽ“ Student-Friendly: Designed specifically for budget-conscious students

πŸš€ Quick Start

One-Command Setup

# Clone the repository
git clone <repository-url>
cd ShopLyft

# Run the automated setup script
./setup.sh

The setup script will:

  • βœ… Check all prerequisites (Python 3.8+, Node.js 16+, npm, git)
  • βœ… Configure API keys interactively (OpenAI, Google Maps)
  • βœ… Set up backend with virtual environment and connectonion
  • βœ… Install frontend dependencies and configure environment
  • βœ… Create startup scripts for easy development
  • βœ… Test all installations and provide next steps

Manual Setup

If you prefer manual setup, see the individual README files:

πŸ— Architecture Overview

ShopLyft Platform
β”œβ”€β”€ 🌐 Frontend (React + TypeScript)     # User interface and shopping experience
β”œβ”€β”€ πŸ“‘ Backend (FastAPI + Python)       # AI optimization and API services
└── πŸ”Œ Extension (Chrome Extension)      # Automated cart management

Core Components

  • πŸ€– AI-Powered Optimisation: Natural language processing converts shopping lists to optimised routes
  • πŸ—Ί Route Planning: Multi-store optimisation balancing cost, time, and convenience
  • πŸ›’ Cart Automation: Browser extension automatically adds items across retailer websites
  • πŸ“± Responsive Design: Works seamlessly on desktop, tablet, and mobile devices

🎯 Features

For Shoppers

  • Natural Language Input: Write shopping lists in plain English
  • Smart Route Optimisation: Find the best combination of stores and routes
  • Real-Time Savings: See cost comparisons and savings opportunities
  • One-Click Cart Management: Automatically add all items to retailer carts
  • Mobile-Friendly: Optimised experience across all devices

For Developers

  • Modern Tech Stack: React 19, FastAPI, TypeScript, TailwindCSS
  • AI Integration: OpenAI-powered natural language processing
  • Geospatial Services: Google Maps integration for route visualization
  • Browser Automation: Chrome extension with cross-retailer support
  • Comprehensive APIs: RESTful endpoints with OpenAPI documentation

πŸ›  Development

Start Development Servers

# Start both backend and frontend
./start-all.sh

# Or start individually
./start-backend.sh    # Backend API on http://localhost:8000
./start-frontend.sh   # Frontend app on http://localhost:5173

Stop Development Servers

# Stop all services (from another terminal)
./stop-all.sh

# Or use Ctrl+C in the terminal running ./start-all.sh
# Individual services can be stopped with Ctrl+C in their terminals

Access Points

πŸ”‘ API Keys Required

ShopLyft requires two API keys for full functionality:

OpenAI API Key

  • Purpose: Powers AI-driven shopping list parsing and optimization
  • Get Key: https://platform.openai.com/api-keys
  • Usage: Natural language processing, product matching, route optimization

Google Maps API Key

πŸ’‘ Tip: The setup script will prompt you to enter these keys interactively, or you can add them later to the .env files.

πŸͺ Supported Retailers

  • 🟒 Woolworths: Australia's largest supermarket chain
  • πŸ”΄ Coles: Major competitor with extensive network
  • 🟑 ALDI: Discount retailer with growing presence

πŸ“‹ Project Structure

ShopLyft/
β”œβ”€β”€ πŸ“ backend/          # FastAPI server and AI services
β”œβ”€β”€ πŸ“ frontend/         # React web application
β”œβ”€β”€ πŸ“ extension/        # Chrome browser extension
β”œβ”€β”€ πŸ“ data/            # Sample data and configurations
β”œβ”€β”€ πŸš€ setup.sh         # Automated setup script
β”œβ”€β”€ ▢️ start-all.sh     # Start both servers
β”œβ”€β”€ ⏹️ stop-all.sh      # Stop all services
β”œβ”€β”€ ▢️ start-backend.sh # Start backend only
└── ▢️ start-frontend.sh # Start frontend only

πŸ”§ Environment Configuration

After setup, configure your environment variables:

Backend (.env)

OPENAI_API_KEY=your_openai_api_key_here
CONNECTONION_API_KEY=your_openai_api_key_here
API_HOST=0.0.0.0
API_PORT=8000

Frontend (.env)

VITE_API_BASE_URL=http://localhost:8000
VITE_GOOGLE_MAPS_API_KEY=your_google_maps_api_key_here
VITE_MODE=dev

🚨 Troubleshooting

Common Issues

Setup Script Fails

# Ensure you have required permissions
chmod +x setup.sh

# Check prerequisites
python3 --version  # Should be 3.8+
node --version      # Should be 16+
npm --version

API Keys Not Working

  • Verify keys are correctly added to .env files
  • Check API key permissions and quotas
  • Restart servers after updating environment variables

Extension Not Loading

  • Enable Chrome Developer Mode
  • Load unpacked extension from extension/ folder
  • Check browser console for error messages

Get Help

  1. Check individual component README files for detailed troubleshooting
  2. Review server logs for specific error messages
  3. Verify all environment variables are properly configured
  4. Ensure all prerequisites are installed and up to date

🀝 Contributing

We welcome contributions! Please see our contributing guidelines and code of conduct.

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.


Built with ❀️ for smarter grocery shopping in Australia πŸ‡¦πŸ‡Ί

About

A web app that automates the consolidation of a shopping list across Woolworths, Coles, and ALDI.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •