Skip to content

zayed31/FindONE

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

7 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

FindONE - AI-Powered Product Recommendation System

FindONE Logo React Node.js MongoDB

Discover products with AI intelligence. Find the perfect products using our advanced AI-powered search, get personalized recommendations, compare prices, and discover hidden gems.

Live Demo β€’ Documentation β€’ API Reference β€’ Contributing


πŸš€ Features

πŸ” AI-Powered Search

  • Multi-layered search algorithm with natural language processing
  • Real-time product discovery from multiple e-commerce sources
  • Intelligent query understanding with spell correction and synonym expansion
  • Contextual search with attribute parsing and intent recognition

πŸ›’ E-commerce Integration

  • Google Shopping API integration for high-quality product data
  • Google Custom Search API with shopping focus
  • Multi-source retrieval with intelligent fallback mechanisms
  • Domain-specific filtering for trusted e-commerce sites

🎯 Smart Filtering & Ranking

  • E-commerce domain whitelisting (Amazon, Flipkart, Snapdeal, etc.)
  • GTIN-based deduplication to remove duplicate products
  • Multi-factor relevance scoring (lexical, semantic, business, behavioral)
  • Accessory filtering to exclude irrelevant products

πŸ‘€ User Experience

  • Dark & sleek UI/UX with glassmorphism effects
  • Smooth animations using Framer Motion
  • Responsive design for all devices
  • Real-time search suggestions and trending searches

πŸ” Authentication & Personalization

  • JWT-based authentication with secure password hashing
  • User profiles with search history and preferences
  • Personalized recommendations (coming soon)
  • Product saving and favorites functionality

⚑ Performance & Reliability

  • Intelligent caching with TTL-based invalidation
  • Graceful error handling with fallback mechanisms
  • API rate limiting and retry logic
  • Optimized search response times

πŸ—οΈ Architecture

FindONE/
β”œβ”€β”€ client/                 # React Frontend
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ components/     # Reusable UI components
β”‚   β”‚   β”œβ”€β”€ pages/         # Page components
β”‚   β”‚   β”œβ”€β”€ context/       # React Context providers
β”‚   β”‚   β”œβ”€β”€ hooks/         # Custom React hooks
β”‚   β”‚   β”œβ”€β”€ utils/         # Utility functions
β”‚   β”‚   └── styles/        # CSS and styling
β”‚   └── public/            # Static assets
β”œβ”€β”€ server/                # Node.js Backend
β”‚   β”œβ”€β”€ controllers/       # Route controllers
β”‚   β”œβ”€β”€ models/           # MongoDB schemas
β”‚   β”œβ”€β”€ routes/           # API routes
β”‚   β”œβ”€β”€ middleware/       # Express middleware
β”‚   β”œβ”€β”€ config/           # Configuration files
β”‚   β”œβ”€β”€ services/         # Business logic
β”‚   └── utils/            # Utility functions
└── docs/                 # Documentation

πŸ› οΈ Technology Stack

Frontend

  • React 18 - Modern UI library with hooks
  • Vite - Fast build tool and development server
  • Tailwind CSS - Utility-first CSS framework
  • Framer Motion - Animation library for smooth transitions
  • React Router DOM - Client-side routing
  • Lucide React - Beautiful icon library

Backend

  • Node.js - JavaScript runtime
  • Express.js - Web application framework
  • MongoDB - NoSQL database with Mongoose ODM
  • JWT - JSON Web Tokens for authentication
  • bcryptjs - Password hashing
  • Axios - HTTP client for API calls

External APIs

  • Google Custom Search API - Web search with shopping focus
  • Google Content API for Shopping - High-quality product data
  • MongoDB Atlas - Cloud database hosting

Development Tools

  • ESLint - Code linting and formatting
  • PostCSS - CSS processing
  • Git - Version control
  • GitHub - Code hosting and collaboration

πŸš€ Quick Start

Prerequisites

  • Node.js 18+ and npm
  • MongoDB Atlas account
  • Google Cloud Platform account
  • Git

1. Clone the Repository

git clone https://github.com/yourusername/FindONE.git
cd FindONE

2. Backend Setup

cd server
npm install

# Create .env file
cp .env.example .env
# Edit .env with your credentials

3. Frontend Setup

cd client
npm install

4. Start Development Servers

# Terminal 1 - Backend
cd server
npm run dev

# Terminal 2 - Frontend
cd client
npm run dev

5. Access the Application


πŸ“š Documentation

Core Documentation

Setup Guides

Quick References


πŸ” Search Algorithm

FindONE uses a sophisticated 4-layer AI-powered search algorithm:

1. Query Understanding Layer

  • Spell correction and synonym expansion
  • Attribute parsing (brand, model, category)
  • Intent recognition and query enhancement

2. Multi-Source Retrieval Layer

  • Google Shopping API (primary)
  • Google Custom Search API (shopping focus)
  • Google Custom Search API (Indian sites)
  • Web scraping fallback

3. E-commerce Filter Layer

  • Domain whitelisting for trusted sites
  • Content analysis for product-specific content
  • GTIN-based deduplication
  • Accessory filtering

4. Relevance Ranking Engine

  • Lexical Score (40%) - Exact keyword matches
  • Semantic Score (30%) - Semantic similarity
  • Business Score (20%) - Price, availability, ratings
  • Behavioral Score (10%) - User preferences (future)

🌐 API Reference

Search Endpoints

# Comprehensive product search
GET /api/search/comprehensive?query=iphone&page=1

# Search suggestions
GET /api/search/suggestions?query=iphone

# Trending searches
GET /api/search/trending

# API health check
GET /api/search/health

Authentication Endpoints

# Register user
POST /api/auth/register
{
  "name": "John Doe",
  "email": "john@example.com",
  "password": "password123"
}

# Login user
POST /api/auth/login
{
  "email": "john@example.com",
  "password": "password123"
}

# Get user profile (protected)
GET /api/auth/profile
Authorization: Bearer <token>

For complete API documentation, see API Documentation.


🎨 UI/UX Design

Design Philosophy

  • Dark & Sleek Theme - Modern, professional appearance
  • Glassmorphism Effects - Subtle transparency and blur
  • Micro-interactions - Smooth animations and transitions
  • High Contrast - Accessibility-focused design

Color Palette

/* Primary Colors */
--bg-primary: #0d1117;      /* Deep charcoal */
--bg-secondary: #1a1a1a;    /* Dark gray */
--bg-tertiary: #262626;     /* Lighter gray */

/* Accent Colors */
--accent-purple: #6366f1;   /* Muted purple */
--accent-teal: #0891b2;     /* Soft teal */
--accent-amber: #f59e0b;    /* Warm amber */

/* Text Colors */
--text-primary: #ffffff;    /* Pure white */
--text-secondary: #e5e7eb;  /* Light gray */

Key Features

  • Responsive Design - Works on all devices
  • Smooth Animations - Framer Motion powered transitions
  • Loading States - Skeleton screens and spinners
  • Error Handling - User-friendly error messages

πŸ”§ Configuration

Environment Variables

Backend (.env)

# Google APIs
GOOGLE_SEARCH_API_KEY=your_search_api_key
GOOGLE_SEARCH_ENGINE_ID=your_search_engine_id
GOOGLE_MERCHANT_ACCOUNT_ID=your_merchant_account_id
GOOGLE_SERVICE_ACCOUNT_EMAIL=your_service_account_email
GOOGLE_PRIVATE_KEY=your_private_key

# Database
MONGO_URI=your_mongodb_connection_string
JWT_SECRET=your_jwt_secret

# Server
PORT=5000
NODE_ENV=development

API Configuration

  • Google Custom Search API: 100 queries/day (free tier)
  • Google Shopping API: 1000 requests/day (free tier)
  • MongoDB Atlas: 512MB storage (free tier)

πŸ“Š Performance & Monitoring

Key Performance Indicators

  • Search Response Time: < 2 seconds
  • Cache Hit Rate: > 60%
  • API Success Rate: > 95%
  • Error Rate: < 2%

Caching Strategy

  • TTL-based caching (5 minutes)
  • Query-based invalidation
  • Memory-efficient storage

Error Handling

  • Graceful degradation with fallback APIs
  • Retry logic with exponential backoff
  • User-friendly error messages

πŸš€ Deployment

Backend Deployment

  1. Set production environment variables
  2. Configure MongoDB Atlas connection
  3. Set up Google API credentials
  4. Configure CORS for production domain
  5. Set up logging and monitoring

Frontend Deployment

  1. Update API endpoints for production
  2. Configure environment variables
  3. Build optimized production bundle
  4. Set up CDN for static assets

Recommended Platforms

  • Backend: Heroku, Railway, or DigitalOcean
  • Frontend: Vercel, Netlify, or GitHub Pages
  • Database: MongoDB Atlas (already configured)

🀝 Contributing

We welcome contributions! Please see our Contributing Guidelines for details.

Development Workflow

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Code Style

  • Use ESLint configuration
  • Follow React best practices
  • Write meaningful commit messages
  • Add tests for new features

πŸ“ˆ Roadmap

Phase 1: Core Features βœ…

  • AI-powered search algorithm
  • Multi-source product retrieval
  • User authentication
  • Dark & sleek UI/UX
  • Real-time search suggestions

Phase 2: Advanced Features 🚧

  • Image-based search
  • Voice search integration
  • Personalized recommendations
  • Price comparison
  • Product reviews and ratings

Phase 3: Enterprise Features πŸ“‹

  • Advanced analytics dashboard
  • Multi-language support
  • Mobile app development
  • API rate limiting and monetization
  • Advanced machine learning models

πŸ› Troubleshooting

Common Issues

Search Not Working

  • Check Google API credentials in .env
  • Verify API quotas and rate limits
  • Check browser console for errors

Authentication Issues

  • Ensure JWT_SECRET is set in .env
  • Check MongoDB connection string
  • Verify CORS configuration

Performance Issues

  • Monitor API response times
  • Check cache hit rates
  • Optimize database queries

For more detailed troubleshooting, see Developer Quick Reference.


πŸ“„ License

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


πŸ™ Acknowledgments

  • Google APIs for providing search and shopping data
  • MongoDB Atlas for cloud database hosting
  • React Community for excellent documentation and tools
  • Tailwind CSS for the utility-first CSS framework
  • Framer Motion for smooth animations

πŸ“ž Support


Made with ❀️ by the FindONE Team

GitHub stars GitHub forks GitHub issues GitHub license

About

A Recommendation System

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages