Skip to content

projjal1/Pinterest-Flask

Repository files navigation

Pinterest-Flask

A Pinterest Clone made using Flask in Python that deals with pins and has embedded AI at its core end.

Motivation

This project was made as a part of creating something unique with my Flask skills essentially after being proficient in developing applications with Django. Also, I am not that much fluent with developing Frontend but knew bits-and-pieces of Bootstrap. So, I wanted to create a masterpiece of my work and what could be more appealing than Pinterest clone. Since Pinterest is all about organizing and rendering images this was a must-try.

Code Dependancies

The code dependancies for the project are :

  • Python 3.5+
  • Flask
  • sklearn
  • scikit-learn
  • Pillow
  • gunicorn
  • Flask-SQLAlchemy for the SQlite database management
  • pandas
  • numpy

AI feature

I have used Collaborative filtering for generating recommended images in the home screen for logged-in users.

Features

The project has most of the features as in original Pinterest site other than "BOARDS" section.

  • Material UI
  • Implemented Disqus comment system
  • Save images(pins)
  • Admin can upload specific advertisements and thoughts
  • Fluid experience
  • Track user activity for generating recommendations based on similar behaviour

What is Left to be Done ?

The project is still under development although it may look as if complete.
The following features need to be added.

  • Search functionality (enhanced)
  • Usage of OpenCV to generated similar images in "MORE LIKE THIS" section
  • Optimization for mobile devices

Attributions

I would like to mention the following sources whose artifacts I have used to make this project

  • Pinterest for using the Logo on the site (Since this is just a small try-out clone attempt, so I wanted to keep things as original as possible)
  • https://github.com/wowthemesnet/template-pintereso-bootstrap-html repo has been very beneficial for generating the index template, although the entirety of it was modified but was helpful in giving the rough idea.