Skip to content

Latest commit

ย 

History

62 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Siftly AI - Smart Shopping & Review Analyzer

Analyze product reviews with AI on all popular e-commerce sites.

Chrome Extension License

Siftly AI Screenshot

๐ŸŒ Features

  • โœ… 22 Site Support: Amazon (Global + TR), Trendyol, Hepsiburada, N11, Morhippo, ร‡iรงeksepeti, Nautica, GittiGidiyor, Markafoni, Limango, Katฤฑlฤฑm, AliExpress, eBay, Flipkart
  • โœ… 5 AI Providers: OpenAI GPT-4o Mini, Google Gemini 2.0 Flash, DeepSeek, Zhipu AI GLM-4 Plus, Groq Llama 3.3
  • โœ… Smart Caching: 24-hour TTL, no re-analysis for same product
  • โœ… Error Recovery (Fallback): Auto-switch providers if one fails
  • โœ… 50 Review Analysis: Comprehensive insights for better decisions
  • โœ… Rating Summary: Star distribution + average rating visualization
  • โœ… Sentiment Chart: Polar chart with positive/neutral/negative analysis
  • โœ… Export Options: TXT and PDF formats
  • โœ… Analysis History: Last 10 analyses saved, re-accessible
  • โœ… Rate Limiting: API quota protection (3 requests/minute)
  • โœ… i18n Support: English and Turkish

๐Ÿš€ Installation

Chrome Web Store (Recommended)

  1. Go to Chrome Web Store
  2. Search for "Siftly AI"
  3. Click "Add to Chrome"
  4. Grant permissions
  5. Visit any e-commerce product page
  6. Click extension icon โ†’ "Start Analysis"

Manual Installation (For Developers)

  1. Clone or download this repository
  2. Go to chrome://extensions/
  3. Enable "Developer mode"
  4. Click "Load unpacked"
  5. Select review-analyzer-ext/ folder

๐Ÿ“– Usage

1. API Key Configuration

  1. Click extension icon
  2. Click โš™๏ธ Settings button
  3. Select AI Model (OpenAI, Gemini, DeepSeek, GLM, Groq)
  4. Paste API key
  5. Click "Save"

Note: Each model has separate API key. All keys are stored securely in your browser.

2. Review Analysis

  1. Go to any supported site (Amazon, Trendyol, etc.)
  2. Visit product page
  3. Click extension icon โ†’ "Start Analysis"
  4. Wait for AI analysis (typically 5-10 seconds)

3. View Results

  • Rating Summary: Star distribution and average rating
  • Sentiment Chart: ๐Ÿ“Š Click button โ†’ View polar chart
  • Export: ๐Ÿ“„ TXT or ๐Ÿ“‘ PDF buttons for download

4. Analysis History

  1. Click ๐Ÿ“‹ History button
  2. Last 10 analyses listed
  3. Click any analysis โ†’ View full result

5. Quick AI Model Switch

  • Use dropdown in popup
  • No need to go to settings screen
  • Settings auto-sync

๐ŸŒ Supported Sites

Supported (v1.2.0)

Site Domain Status Priority
Amazon (Global) amazon.com โœ… P0 (Global)
Amazon Turkey amazon.com.tr โœ… P0 (Global)
Trendyol trendyol.com โœ… P1 (TR)
Hepsiburada hepsiburada.com โœ… P1 (TR)
N11 n11.com โœ… P1 (TR)
Morhippo morhippo.com โœ… P1 (TR)
ร‡iรงeksepeti ciceksepeti.com โœ… P1 (TR)
Nautica nautica.com โœ… P1 (TR)
GittiGidiyor gittigidiyor.com โœ… P1 (TR)
Markafoni markafoni.com โœ… P1 (TR)
Limango limango.com โœ… P1 (TR)
Katฤฑlฤฑm katilim.com โœ… P1 (TR)
AliExpress aliexpress.com โœ… P2 (Global)
eBay ebay.com โœ… P2 (Global)
Flipkart flipkart.com โœ… P2 (Global)

Generic Fallback (ALL OTHER SITES)

  • Any e-commerce site without specific config
  • Uses generic DOM scraping
  • Filters UI text, duplicates
  • Not perfect, but works on most sites

Note: Generic fallback works on every e-commerce site (accuracy not guaranteed).

๐Ÿงช Testing

# Test setup
npm install

# Run all tests
npm test

# Run in watch mode
npm run test:watch

# Coverage report
npm run test:coverage

Test Coverage:

  • Config.js: 100%
  • Content.js: 85%

๐Ÿ”ง Development

Project Structure

review-analyzer-ext/
โ”œโ”€โ”€ manifest.json           # Chrome extension manifest (v3)
โ”œโ”€โ”€ background.js           # Service worker - API calls
โ”œโ”€โ”€ content.js             # Content script - DOM scraping
โ”œโ”€โ”€ popup.html             # Popup UI
โ”œโ”€โ”€ popup.js               # Popup interactions
โ”œโ”€โ”€ config.js              # Site selector configuration
โ”œโ”€โ”€ styles.css             # Tailwind CSS
โ”œโ”€โ”€ tailwind.config.js     # Tailwind settings
โ”œโ”€โ”€ icons/                 # Extension icons
โ”œโ”€โ”€ assets/                # Logo images
โ”œโ”€โ”€ _locales/              # i18n (tr, en)
โ”œโ”€โ”€ tests/                 # Jest tests
โ”œโ”€โ”€ jest.config.js         # Jest configuration
โ””โ”€โ”€ package.json           # NPM scripts

Adding New Sites

1. Add to config.js

"new-site.com": {
    fallbackEnabled: true,
    reviewContainer: "div.review-class",
    reviewText: "p.review-text",
    scrollRequired: true
}

2. Add to manifest.json

"host_permissions": [
    "*://*.new-site.com/*"
]

3. Test It

# Reload extension
chrome://extensions/ โ†’ Reload

# Visit site, check console

That's it! Simple site addition.

๐Ÿ“ Customization

Config Parameters

// config.js - GLOBAL
GLOBAL: {
    maxReviews: 50,          // Maximum review count
    minReviewLength: 20,     // Minimum review length (chars)
    fallbackMinLength: 40,    // Fallback mode minimum
    fallbackMaxLength: 1500,   // Fallback mode maximum
    scrollWaitTime: 800,      // Scroll wait time (ms)
    scrollCount: 3,           // Scroll count
    duplicateCheck: true       // Duplicate check
}

API Rate Limiting

// background.js - RATE_LIMIT_CONFIG
maxRequestsPerMinute: 3,  // Max 3 requests per minute
cooldownSeconds: 60,       // Cooldown time

Cache Configuration

// background.js - CACHE_CONFIG
enabled: true,
ttl: 86400000,              // 24 hours (milliseconds)
maxEntries: 50              // Max cache entries

๐Ÿ”ฎ Future Enhancements

  • Real-time sentiment analysis (NLP)
  • Multi-language support beyond EN/TR
  • Cross-device sync (Chrome Sync API)
  • Dark/Light mode toggle
  • Keyboard shortcuts
  • Voice commands (Web Speech API)
  • Add more e-commerce sites (Mercado Libre, Mercado Livre, etc.)
  • Automatic site detection (suggest new selectors)
  • Community-sourced configs (users can submit site configs)

๐Ÿค Contributing

How to Contribute?

  1. Fork this repository
  2. Create feature branch: git checkout -b feature/amazing-feature
  3. Make your changes: git commit -m 'Add some amazing feature'
  4. Push: git push origin feature/amazing-feature
  5. Open Pull Request

Submitting New Site Selectors

If you found selectors for a new e-commerce site:

  1. config.js - Add new site config
  2. manifest.json - Add new host permission
  3. Test and share screenshots
  4. Open PR
  5. Include in PR description:
    • Site name and URL
    • Selectors used
    • Test results (review count)
    • Any known issues

Code Standards

  • JavaScript: ES6+ syntax, async/await
  • Styling: Tailwind CSS utility classes
  • i18n: Add new strings to both EN and TR locale files
  • Tests: Write Jest tests for new features
  • Commit Messages: Use [Feature], [Fix], [Refactor], [Docs] prefixes

Contributor Guide

How users can submit change requests?

Users can submit site config via:

  1. GitHub Issues:

    • Bug report: Bug: [Site Name] - Problem description
    • Feature request: Feature: [Site Name] - Feature description
    • Site config: Config: [Site Name] - Selector details
  2. Issue Template: Use .github/ISSUE_TEMPLATE.md file for site config submissions

  3. Contribution Permissions:

    • โœ… Everyone can open GitHub issues (maintainer approval NOT needed)
    • โœ… Everyone can open bug reports (use issue template)
    • โœ… Everyone can submit site configs (via issues, PRs awaited)
    • โŒ Direct push NOT allowed (PR required, maintainer review needed)

Important Notes:

  • โœ… Users can open PRs directly (no contributor status required)
  • โœ… Maintainer approval REQUIRED (code review, conflict resolution)
  • โœ… Issue template usage REQUIRED (to prevent duplicate questions)
  • โœ… Screenshot sharing encouraged (for selector debugging)

PR Review Process

  1. Automated CI:

    • Jest tests run
    • Coverage checked
    • Failed tests block PR
  2. Maintainer Review:

    • Code quality check
    • Selectors tested (if needed)
    • i18n messages checked
    • Manifest permissions checked
  3. Conflict Resolution:

    • Maintainer resolves conflicts
    • Extra tests may be requested
  4. Merge:

    • Successful PRs merged to main branch

Contributor Recognition

First-time contributors get:

  1. Added to CODEOWNERS file
  2. Added to "Contributors" section in README
  3. Contributor badges after 5 PRs

๐Ÿ“„ License

MIT License - See LICENSE file for details.

๐Ÿ‘ฅ Credits

  • Lead Developer: Berkayzeren
  • Project: Zeren AI Thesis Implementation

๐ŸŒŸ Acknowledgments

  • OpenAI - GPT-4o Mini
  • Google - Gemini 2.0 Flash
  • DeepSeek - DeepSeek Chat
  • Zhipu AI - GLM-4 Plus
  • Groq - Llama 3.3-70B-Versatile

๐Ÿ“ž Contact


Made with โค๏ธ for smarter shopping

About

Smart Shopping & Review Analyzer Chrome Extension. Seamlessly summarize and analyze e-commerce product reviews using multiple AI models (GPT-4o, Gemini 2.0, DeepSeek, GLM, Groq).

Topics

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages