Code Monkey home page Code Monkey logo

video-search-engine's Introduction

Video search engine

Flask-based application using MySQL, MongoDB and Neo4j for storing video data and provides interface to search video and show related videos and recommendations.

Setup

  • Install python3, pip, python-virtualenv

    sudo apt-get install python3 python3-pip
    pip3 install virtualenv
    
  • Install databases : MySQL, MongoDB, Neo4j

    • MySQL
      sudo apt-get install mysql-client mysql-server libmysqlclient-dev
      
    • MongoDB
      sudo apt-get install mongodb
      
    • GUI for MySQL
      sudo apt-get install mysql-workbench
      
    • GUI for MongoDB : Robomongo
  • Clone repository and setup virtualenv inside folder

    git clone https://github.com/nitish6174/video-search-engine
    cd <downloaded project path>
    virtualenv -p python3 venv_py3
    
  • Setup SCSS compiler using gulp

    sudo apt-get install nodejs nodejs-legacy npm
    npm install .
    
  • Install pip dependencies inside virtualenv

    source venv_py3/bin/activate
    pip install -r requirements.txt
    
  • Make config file and modify it

    cp flaskapp/config.py.example flaskapp/config.py
    
  • Add video data in the root of repository as the folder name data/ Sample data files available at this link

  • Running :

    • Make sure databases are up
    • Export the flask variable with export FLASK_APP=./flaskapp/app.py
    • Init the DB models with flask create_db
    • Run gulp to compile CSS gulp
    • Run server with ./run.sh
    • Project will be available at localhost:5000
    • Use Ctrl-C to stop flask server
    • Use deactivate to exit virtualenv

video-search-engine's People

Contributors

maulik96 avatar nitish6174 avatar samj1912 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

video-search-engine's Issues

Features to be implemented

Following features and tasks are to implemented. Please comment any missing feature.

Basic :

  • Search videos by title
  • Show related videos in right sidepane when a video is loaded
  • Store log of click on search result item
  • Store log of click on a suggested item in right sidepane
  • Increase rank of video in search results based on log
  • Increase rank of video in related video results based on log
  • User account to maintain separate logs

Extra :

  • Show top videos on home page
  • Increase view count on watching a video
  • Search channels
  • Browse videos of a channel
  • Show user's recently watched videos
  • Autosuggestion in search bar
  • Watch later
  • Recommended videos for user based on history
  • Like videos
  • User's liked videos
  • Channel subscriptions
  • User playlist
  • Auto playlist based on tags
  • Store tag wise video count to show top videos category-wise
  • Flash message on page
  • User-user collaborative filtering for recommendations

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.