No description
  • JavaScript 72.2%
  • TypeScript 17.7%
  • CSS 10.1%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Abdelrahman mostafa 24c91fb164 docker compose
2024-02-02 17:21:15 +02:00
client docker compose 2024-02-02 17:21:15 +02:00
Embedding-service feat: search 2024-01-31 22:55:15 +02:00
smaple images sample 2024-02-02 17:19:44 +02:00
Vision-service feat: search 2024-01-31 22:55:15 +02:00
docker-compose.yml docker compose 2024-02-02 17:21:15 +02:00
README.md docker compose 2024-02-02 17:21:15 +02:00

Reverse Image Search Engine

This project is a reverse image search engine that leverages the power of a Weaviate vector database to enable users to upload images and find similar images. It is built using Node.js for the backend API and Next.js for the frontend interface.

Features

  • Image Upload: Users can upload images to be indexed in the Weaviate vector database.
  • Image Search: By uploading an image, users can search for and retrieve similar images from the database.

Technology Stack

  • Frontend: Next.js, React, Ant Design UI library
  • Backend: Node.js, Express.js
  • Database: Weaviate vector database and xata
  • Image Processing: Utilizes Weaviate's img2vec-neural module for converting images into vectors and xata for storage and search using elastic search

Prerequisites

  • Node.js (LTS version recommended)
  • Docker and Docker Compose

How to Run

Start the Weaviate Database

  1. Navigate to the home directory and start Weaviate with Docker Compose:
cd Reverse-Image-Search-Engine && docker-compose up -d

Start the Backend API

  1. In a new terminal, go to the Embedding-service directory, install dependencies, and start the server:
cd Embedding-service
npm install
npm start

Start the Backend API

  1. In a new terminal, go to the Embedding-service directory, install dependencies, and start the server:
cd Vision-service
npm install
npm start

Start the Frontend Application

  1. In another terminal, navigate to the client directory, install dependencies, and run the Next.js server:
cd client
npm install
npm run dev

The frontend is now accessible at http://localhost:3000.

Demonstration Video

To see the search engine in action, watch the demonstration video below:

Reverse Image Search Engine Demo