Skip to content

SamoTech/ebay-store

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

312 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ›οΈ DealsHub - Your Ultimate eBay Deals Finder

Find the best deals on eBay with AI-powered search, real-time price tracking, and intelligent recommendations.

Next.js React TypeScript Tailwind CSS Vercel Test Coverage License

πŸ”— Live Demo: https://ebay-store.vercel.app


πŸ₯ Repo Health

DevLens Health Overall health: 76/100 β€” Last updated: 2026-04-06

Dimension Progress Score Weight
πŸ“ README Quality β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘ 88 20%
πŸ”₯ Commit Activity β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ 100 20%
🌿 Repo Freshness β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ 100 15%
πŸ“š Documentation β–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘ 32 15%
βš™οΈ CI/CD Setup β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘ 60 15%
🎯 Issue Response β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ 95 10%
⭐ Community Signal β–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘ 10 5%

✨ Features

Core Features

  • πŸ” Smart Search - AI-powered product search across eBay with autocomplete
  • πŸ’° Live eBay Products - Real-time product data via eBay Browse API with OAuth 2.0
  • πŸ€– AI Chatbot - Personalized shopping recommendations
  • 🎯 Deal of the Day - Curated daily deals with countdown timers
  • ⭐ Favorites System - Save and track your favorite products
  • πŸ“§ Newsletter - Subscribe for exclusive deals and updates
  • πŸ”” Price Alerts - Get notified when prices drop
  • πŸ”„ Recently Viewed - Track your browsing history
  • 🎨 Product Comparison - Compare multiple products side-by-side
  • πŸ’Έ Affiliate Tracking - eBay Partner Network integration for commission tracking

Technical Features

  • ⚑ ISR (Incremental Static Regeneration) - Lightning-fast page loads with fresh content
  • πŸ–ΌοΈ Image Optimization - AVIF/WebP with blur placeholders (zero layout shift)
  • πŸŒ™ Dark Mode - Beautiful UI with seamless light/dark theme switching
  • 🎨 Responsive Design - Perfect on mobile, tablet, and desktop
  • β™Ώ Accessibility - WCAG 2.1 AA compliant
  • πŸ“Š Analytics - Vercel Analytics & Speed Insights integrated
  • πŸ”’ Security Middleware - Rate limiting, input validation, secure headers
  • πŸ§ͺ Comprehensive Testing - 65%+ test coverage with Jest
  • πŸ”„ 24-Hour Product Caching - Optimized API usage with automatic refresh
  • βœ… GitHub Actions CI - Automated lint, test, and build checks on every push/PR
  • πŸ“… Daily Rotating Keywords - Fresh product variety every day

πŸš€ Quick Start

Prerequisites

  • Node.js 20.x or higher
  • npm 10.x or higher
  • eBay Developer Account - Sign up here
  • eBay Partner Network Account - Sign up here

Installation

# Clone the repository
git clone https://github.com/SamoTech/ebay-store.git
cd ebay-store

# Install dependencies
npm install

# Copy environment variables
cp .env.example .env.local

# Configure your eBay API credentials (see below)

# Start development server
npm run dev

Open http://localhost:3000 in your browser.

Environment Variables Setup

1. Get eBay Browse API Credentials (OAuth 2.0)

  1. Visit eBay Developer Portal
  2. Create a Production Application Keyset
  3. Copy your Client ID and Client Secret

2. Get eBay Partner Network Campaign ID

  1. Visit eBay Partner Network
  2. Create a campaign and get your Campaign ID
  3. This is used for affiliate commission tracking

3. Configure .env.local

# ═══════════════════════════════════════════════════════════
# eBay Browse API (OAuth 2.0) - REQUIRED for Live Products
# ═══════════════════════════════════════════════════════════
EBAY_CLIENT_ID=your_production_client_id
EBAY_CLIENT_SECRET=your_production_client_secret

# ═══════════════════════════════════════════════════════════
# eBay Partner Network - REQUIRED for Affiliate Tracking
# ═══════════════════════════════════════════════════════════
EBAY_CAMPAIGN_ID=your_campaign_id

# eBay API Configuration (Advanced - Optional)
EBAY_MARKETPLACE_ID=EBAY_US
EBAY_OAUTH_SCOPE=https://api.ebay.com/oauth/api_scope

# Other Services (Optional but Recommended)
GROQ_API_KEY=gsk_your_groq_api_key_here
WEB3FORMS_ACCESS_KEY=your_web3forms_access_key_here
NEXT_PUBLIC_GA_ID=G-XXXXXXXXXX

Important Notes:

  • ❌ Do NOT use the old Finding API credentials (EBAY_APP_ID, EBAY_CERT_ID, EBAY_DEV_ID)
  • βœ… Use OAuth 2.0 credentials (EBAY_CLIENT_ID, EBAY_CLIENT_SECRET) for Browse API
  • πŸ”’ Never commit .env.local to version control

Verify eBay API Setup

npm run dev
# Visit http://localhost:3000/api/health

See SETUP_GUIDE.md for detailed configuration and troubleshooting.


πŸ“ Project Structure

ebay-store/
β”œβ”€β”€ app/                      # Next.js 16 App Router
β”œβ”€β”€ components/              # React components (19 total)
β”œβ”€β”€ contexts/                # React contexts (5 total)
β”œβ”€β”€ lib/                     # Utilities & business logic
β”œβ”€β”€ __tests__/              # Test suites (65%+ coverage)
β”œβ”€β”€ agents/                 # AI Agent system documentation
β”œβ”€β”€ docs/                   # Documentation (15+ files)
└── public/                 # Static assets

See full structure in docs/.


πŸ”§ Tech Stack

Frontend

Backend & APIs

  • Next.js API Routes - Serverless API endpoints
  • eBay Browse API (OAuth 2.0) - Live product data & search
  • eBay Partner Network - Affiliate link generation
  • Groq AI - Chatbot intelligence

Testing & Quality

DevOps

  • Vercel - Hosting & deployment
  • GitHub Actions - CI pipeline

πŸ“š Documentation


πŸ§ͺ Testing

npm test                 # Run all tests
npm run test:watch       # Watch mode
npm run test:coverage    # Coverage report

Current Coverage: 65%+ βœ…


⚑ Performance

Metric Score
Performance 100/100
Accessibility 95/100
Best Practices 100/100
SEO 100/100

πŸš€ Deployment

Deploy with Vercel

See DEPLOYMENT_COMPLETE.md for detailed instructions.


πŸ›‘οΈ Security

  • βœ… No exposed secrets β€” all API keys server-side only
  • βœ… Rate limiting on all product APIs
  • βœ… Input sanitization & validation
  • βœ… Security headers via middleware
  • βœ… OAuth 2.0 for eBay API access

🀝 Contributing

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/amazing-feature
  3. Write tests, ensure they pass: npm test
  4. Commit: git commit -m 'Add amazing feature'
  5. Push & open a Pull Request

See CONTRIBUTING.md for full guidelines.


πŸ“„ License

MIT License β€” see LICENSE file for details.


πŸ‘¨β€πŸ’» Author

Ossama Hashim (SamoTech)


Made with ❀️ using Next.js 16, React 19, and AI Agent System

Live Demo β€’ Documentation β€’ GitHub

About

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

 

Packages

 
 
 

Contributors