Saleh Store is an eBay product discovery platform with shopping guides, marketplace comparison tools, and direct eBay affiliate links.
π Production: https://www.saleh-store.com
Overall health: 76/100 β Last updated: 2026-09-30
- 61 published shopping guides β articles #1β#61 are served through the unified blog data and sitemap.
- Black Friday field guide β article #61 adds article-specific related categories and live product resources.
- Humanized editorial library β the September 2026 expansion added 20 practical buyer-focused guides across electronics, gaming, phones, networking, smart home, auto, cameras, and shopping strategy.
- Deal Comparison Calculator β normalize marketplace costs before comparing listings
- eBay Deal Comparison Methodology β documented comparison framework
- Shopping Guides β 61 practical product and marketplace research articles, including the Black Friday field guide
- π 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
- π§ Subscriber Signup & Price Alerts - Email capture with Web3Forms forwarding and price-drop alerts
- π Recently Viewed - Track your browsing history
- π¨ Product Comparison - Compare multiple products side-by-side
- πΈ Affiliate Tracking - eBay Partner Network integration (
campid/customid) for commission tracking - π First-party Analytics -
/api/trackevents plus an aggregated, token-protected read endpoint
- β‘ ISR (Incremental Static Regeneration) - Lightning-fast page loads with fresh content
- πΌοΈ Image Optimization - AVIF/WebP with blur placeholders
- π Dark Mode - Light/dark theme switching
- π¨ Responsive Design - Mobile, tablet, and desktop
- βΏ Accessibility - Semantic landmarks, keyboard navigation, ARIA labelling
- π Analytics - Vercel Analytics & Speed Insights integrated
- π Security Proxy -
proxy.tsadds CSP, HSTS, clickjacking protection and 60 req/min/IP rate limiting - π§ͺ Comprehensive Testing - Jest 29 + React Testing Library (20 suites, 268 tests, CI-enforced coverage floor)
- π Self-hosted Fonts -
geistnpm package - π Cached eBay Calls - LRU caches for OAuth tokens and Browse responses
- β
GitHub Actions CI -
npm ciβ merge-conflict check β lint β typecheck β test β build - π Daily Rotating Keywords - Fresh product variety every day
This repository is designed to be recoverable by AI agents without access to previous chat sessions.
- AGENTS.md β mandatory operating rules and development gates for AI agents.
- AI Agent Source of Truth β architecture, boundaries, current facts, and non-negotiable rules.
- Project Status β current operational state, known limitations, and safe next areas.
- Development History β durable milestone history with PR/commit references.
- Changelog β versioned project changes and dated records.
Rule: Git history and current code are authoritative. Documentation preserves context; dated baselines must not be rewritten to look current.
git clone https://github.com/SamoTech/ebay-store.git
cd ebay-store
npm install
cp .env.example .env.local
npm run devOpen http://localhost:3000.
See SETUP_GUIDE.md for environment configuration.
| Command | What it does |
|---|---|
npm run dev |
Start the Turbopack dev server on port 3000 |
npm run build |
Production build |
npm run start |
Serve the production build |
npm run lint |
ESLint |
npm run typecheck |
TypeScript checking |
npm test |
Jest |
npm run test:coverage |
Jest with coverage |
npm run verify |
typecheck + lint + tests |
npm run verify:apis |
API smoke tests |
npm run verify:conflicts |
Detect duplicate/conflicting route + config definitions |
npm run analyze |
Bundle analysis |
| Variable | Required | Purpose |
|---|---|---|
EBAY_CLIENT_ID / EBAY_CLIENT_SECRET |
β | eBay Browse API OAuth |
EBAY_CAMPAIGN_ID |
recommended | eBay Partner Network campaign id |
NEXT_PUBLIC_EBAY_CAMPAIGN_ID |
optional | Browser-side campaign override |
EBAY_MARKETPLACE_ID |
optional | Marketplace, default EBAY_US |
GROQ_API_KEY |
optional | Enables the AI chatbot |
WEB3FORMS_ACCESS_KEY |
optional | Subscriber forwarding |
ANALYTICS_READ_TOKEN |
optional | Token for production analytics read |
DEALSHUB_DATA_DIR |
optional | Runtime JSON storage location |
NEXT_PUBLIC_GA_ID |
optional | Google Analytics |
Copy .env.example and fill in only the variables required for your environment.
| Endpoint | Description |
|---|---|
GET /api/products/discover |
Home product feed |
GET /api/products/search?q=&limit= |
Validated product search |
GET /api/products/category/[slug] |
Category feed |
GET /api/products/daily-deal |
Deal of the Day |
GET /api/ebay/search?q= |
eBay Browse API search proxy |
GET /api/ebay/status |
eBay integration status |
GET /api/health |
Health/readiness |
POST /api/subscribe |
Subscriber signup |
POST /api/price-alert Β· GET /api/alerts |
Price alerts |
POST /api/track Β· GET /api/track |
First-party analytics |
POST /api/chat |
Groq-hosted openai/gpt-oss-20b shopping assistant |
Deprecated eBay/debug paths intentionally redirect to consolidated endpoints.
| Layer | Technology |
|---|---|
| Frontend | Next.js 16 App Router, React 19, TypeScript 5, Tailwind CSS 3.4 |
| APIs | eBay Browse API, eBay Partner Network, Groq-hosted openai/gpt-oss-20b AI |
| Testing | Jest 29 + React Testing Library |
| DevOps | Vercel, GitHub Actions |
- AI Agent Source of Truth
- Project Status
- Development History
- Setup Guide
- API Documentation
- Component Library
- Testing Guide
- SEO / AI Visibility Baseline
- AI Visibility Tests
- Analytics Conversion Funnel
- AdSense Placement
- No exposed secrets
- Rate limiting on sensitive APIs
- Input sanitization and validation
- OAuth 2.0 for eBay API access
- CSP / HSTS / clickjacking protection via
proxy.ts
MIT License β see LICENSE.
Built with Next.js 16, React 19, TypeScript, and Vercel Β· Ossama Hashim
Live Demo β’ Documentation β’ GitHub