Giter VIP home page Giter VIP logo

movies's Introduction

Movies

Create your own movies library, hosted on your own server, where you can note the movies you have already seen. You can also use this app to find your next movie and download it.

To start your new Phoenix application:

  1. Install dependencies with mix deps.get
  2. Start Phoenix endpoint with mix phoenix.server

Now you can visit localhost:4000 from your browser.

movies's People

Contributors

kdisneur avatar

Watchers

James Cloos avatar

movies's Issues

Rate a movie

Add the ability to rate a movie.

As a user, we should see a rating average on the movie. Moreover, on the details, we should be able to rate a movie. We should be able to rate a movie for any family member. This value as to be synced to trakt for all the members.

Search a new movie

As a user, you should be able to find for new movies through the Trakt.tv API and display them

Remove a family member

As an admin you should be able to remove a family member.

  • remove the email address and all the informations we could have (profile, ...)

Sync Trackt.tv and accounts

Because it's a family, all members owned the same movies. So all the informations in terms of owned movies, awaiting,... should be synced across all the Tract.tv accounts linked with the app in two cases:

  • Someone change something in the app
  • Someone press a refresh button
  • (Maybe a sync by day?)

So we should find all the movies for all the accounts, merge them, and sync back to Trakt.tv.

Subtitles links on movies

As a user, when you look at a movie detail, you should be able to see subtitles links to download them

Search in the lists

For the moment you have to scroll over all your list to find your movie. Add a search component.

Refactor 3 states buttons

We already have a bunch of duplication on 3 states buttons (i.e: "Mark as owned", "Add to wish list") and the number of button will increase.

Authentication

As a user you should be able to sign in using Trakt.tv oauth. Moreover the email address should be an existing one (see #3). You should also be able to sign out.

Admin authentication

When you create a new application, an admin is automatically created. You should be able to sign in on the app and have an admin panel available.

  • Authentication is done using Trakt.tv oauth.
  • admin email is supplied when the app is created and can't be changed

Application template

To create the application, it should be possible to use Heroku templates.

variables needed:

  • admin email

addons needed:

  • redis (to store user profiles)
  • memcached (to store API responses)

buildpack used:

  • elixir

Paginate the lists

Load movies by 20 instead of all the movies in one way. Most of the time, it's useless to have all the movies

Torrent links on movies

As a user, when you look at a movie detail, you should be able to see torrent links to download them

Owned movies

Load the list of movies owned by the user. You can also see the detail of a movie

Move movie to awaiting

As a user, when you have found a new movie, you should be able to make it as awaiting.

Add family members

As an admin you should be able to add a new member.

  • A family member is only an email address.

Family admin

The application is dedicated to only one family. When you install the application you will have an admin account. This account will be able to manage the family:

  • admin authentication #2
  • add a new member #3
  • remove a member #4

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.