This application allows the user to find articles on Zalando API based on specific input color. It was developed in couple of hours in a hackathon and might not be a production ready implementation. It just aims to show how color based search functionality can help the user to find the best match.
- Can Güney Aksakalli - [email protected]
- Yücel Uzun - [email protected]
Color matters (especially to women). Most fashion eCommerce websites only allows to search on basic color groups but if you are looking for a specific color, it is really hard to find it in thousands of listed products.
This application detects the dominant color of the product and store it in the NoSQL DB. It uses Lab color space because it is the most convenient representation to get distance in terms of human perception. Once the server is received a request, it changed the input to lab color space and returns closest 10 articles based on Euclidean distance of the color channels.
All images are retrieved from Zalando API and color information is stored in MongoDB. The Web API runs a query in MongoDB to get similar images.
get /categories/ list all available categories
get /categories/:category/:color search for a specific color represented as /r,g,b in given category
With this app, you can find best color combination before going out. You can combine your clothes and shoes based on color preferences. To select a color, you can either take picture of your favorite color or select on color pallet.
Demo video:
http://www.youtube.com/watch?v=5FywLwi8j_M
Here you may check the running demo.
Getting ready and running the server:
# canvas package has following dependencies
sudo apt-get install libcairo2-dev libjpeg8-dev libpango1.0-dev libgif-dev build-essential g++
cd ServerSide
# install node packages
npm install
# you can restore data:
mongorestore --drop -d zalando -c articles data/articles.bson
# or run the service to fill the database
node service.js
# now we are ready to run the app
node server.js
With the last version of Xcode it should just work. To use camera part you need to test it in real device. Since we had limited time, we only focused on working it on iPhone 5 and 5S. It might not work as expected in other models.
Released under the MIT license.