Git Product home page Git Product logo

findfilm's Introduction

FindFilm

Collects films from different sources and makes them available in a unified, filterable, collection.

The webpage is deployed at http://findfilm.se/ .

Implementation overview

There is a tiny REST API implemented with PHP. It has two resources, search and films.

There is a parser job, that is run periodically to collect films from different sources. It, as well as the sources, are implemented with Java 8. It uses the API to store its findings.

There is a web application developed with AngularJS and Bootstrap. It uses the API to expose the film database.

How to build

Backend

To generate Eclipse projects, do:

 mvn eclipse:eclipse

To create a runnable parser job, do:

mvn package

Frontend

You need to download backend packages, like Grunt and Bower, and then use them to build the application. Do it like this:

npm install
bower install
grunt build #Optional

There is a faked API response called films.php.fake that you can use together with 'grunt serve' to do front end development quick and easy.

How to deploy

Please dont hack me!

Both backend and front end as well as the API will expect a file at:

/etc/pleasedonthackme.properties

It will need to contain:

netflix_email=netflix user email
netflix_password=netflix user password
api_film_base= Base of API, like: http://findfilm.local/api
api_film_secretkey_hash=... Should be: SHA1(secrtetkey+seed)
api_film_secretkey_seed=...Can be anything, but you need to use it to calculate hash
api_film_secretkey=... Any secret key

On the server side, you should not store the api_film_sectetkey. Only store it on the client side. And on the client side, dont store hash and seed values. Or store them all everywhere if you are lazy =)

Parser job

Take a look at

parser-job/cronjob.sh

Front end

There are many alternatives...

Apache2

<VirtualHost *:80>
  ServerName findfilm.local
  DocumentRoot /home/bjerre/workspace/findfilm/web/root/app
  AddDefaultCharset UTF-8
  <Directory /home/bjerre/workspace/findfilm/web/root/app>
   Options +FollowSymLinks +Indexes +ExecCGI
   Require all granted
   DirectoryIndex index.html
   <IfModule mod_php5.c>
    AddType application/x-httpd-php .php
   </IfModule>
  </Directory>
 </VirtualHost>

findfilm's People

Contributors

tomasbjerre avatar

Watchers

 avatar  avatar

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.