├── public ├── favicon.ico ├── downloads │ └── .gitkeep ├── robots.txt ├── airflix-demo.gif ├── touch-icon-ipad.png ├── touch-icon-iphone.png ├── touch-icon-ipad-retina.png ├── touch-icon-iphone-retina.png ├── mix-manifest.json ├── .htaccess ├── web.config ├── js │ └── manifest.d41d8cd98f00b204e980.js └── index.php ├── database ├── seeds │ ├── .gitkeep │ └── DatabaseSeeder.php ├── migrations │ ├── .gitkeep │ ├── 2016_07_18_184112_create_failed_jobs_table.php │ ├── 2016_02_19_221248_create_genres_table.php │ └── 2016_02_20_151342_create_movies_table.php └── .gitignore ├── storage ├── .gitignore ├── app │ ├── images │ │ ├── .gitignore │ │ ├── backdrops │ │ │ └── .gitignore │ │ ├── episodes │ │ │ └── .gitignore │ │ ├── posters │ │ │ └── .gitignore │ │ ├── seasons │ │ │ └── .gitignore │ │ ├── no-poster.png │ │ └── no-backdrop.png │ └── public │ │ └── .gitignore ├── logs │ └── .gitignore ├── tmdb │ └── .gitignore └── framework │ ├── cache │ └── .gitignore │ ├── views │ └── .gitignore │ ├── sessions │ └── .gitignore │ └── .gitignore ├── resources ├── views │ ├── vendor │ │ └── .gitkeep │ ├── errors │ │ ├── 503.blade.php │ │ └── 404.blade.php │ └── app.blade.php ├── assets │ ├── sass │ │ ├── _typography.scss │ │ ├── _fonts.scss │ │ ├── _transitions.scss │ │ ├── _overview.scss │ │ ├── _summaries.scss │ │ ├── _tags.scss │ │ ├── app.scss │ │ ├── _header.scss │ │ ├── _search.scss │ │ ├── _grids.scss │ │ ├── _scaffold.scss │ │ ├── _cards.scss │ │ ├── _carousel.scss │ │ ├── _buttons.scss │ │ ├── _spinner.scss │ │ ├── _navigation.scss │ │ └── _toasts.scss │ └── js │ │ ├── vuex │ │ ├── modules │ │ │ ├── toasts.js │ │ │ ├── genres.js │ │ │ ├── images.js │ │ │ ├── search.js │ │ │ ├── episodes.js │ │ │ ├── views.js │ │ │ ├── interfaces.js │ │ │ └── seasons.js │ │ ├── helpers.js │ │ ├── store.js │ │ └── mutation-types.js │ │ ├── components │ │ ├── screens │ │ │ └── NotFoundScreen.vue │ │ ├── statuses │ │ │ └── Spinner.vue │ │ ├── partials │ │ │ ├── ShowCard.vue │ │ │ ├── MovieCard.vue │ │ │ ├── ShowResult.vue │ │ │ ├── MovieResult.vue │ │ │ ├── ShowPoster.vue │ │ │ ├── MoviePoster.vue │ │ │ ├── ShowBackdrop.vue │ │ │ ├── MovieBackdrop.vue │ │ │ └── Episode.vue │ │ └── charts │ │ │ ├── MonthlyChart.vue │ │ │ └── LineChart.vue │ │ ├── filters.js │ │ ├── routes.js │ │ └── app.js └── lang │ └── en │ ├── pagination.php │ ├── auth.php │ └── passwords.php ├── bootstrap ├── cache │ └── .gitignore ├── autoload.php └── app.php ├── .gitattributes ├── .babelrc ├── Airflix ├── Contracts │ ├── MovieResults.php │ ├── ShowResults.php │ ├── TmdbImageClient.php │ ├── TmdbImageTransformer.php │ ├── MovieViewMonthlyTransformer.php │ ├── SeasonViewMonthlyTransformer.php │ ├── ShowViewMonthlyTransformer.php │ ├── TmdbMovieResultTransformer.php │ ├── TmdbShowResultTransformer.php │ ├── EpisodeViewMonthlyTransformer.php │ ├── ShowImages.php │ ├── MovieImages.php │ ├── GenreTransformer.php │ ├── MovieViews.php │ ├── SeasonTransformer.php │ ├── EpisodeViews.php │ ├── Seasons.php │ ├── EpisodeTransformer.php │ ├── Episodes.php │ ├── Genres.php │ ├── Settings.php │ ├── MovieTransformer.php │ ├── ShowTransformer.php │ ├── Shows.php │ ├── Movies.php │ └── ApiResponse.php ├── Uuid.php ├── MovieView.php ├── Filterable.php ├── EpisodeView.php ├── User.php ├── Retriable.php ├── V1 │ ├── ShowViewMonthlyTransformer.php │ ├── MovieViewMonthlyTransformer.php │ ├── SeasonViewMonthlyTransformer.php │ ├── EpisodeViewMonthlyTransformer.php │ ├── TmdbShowResultTransformer.php │ ├── TmdbMovieResultTransformer.php │ ├── TmdbImageTransformer.php │ ├── GenreTransformer.php │ ├── SeasonTransformer.php │ └── EpisodeTransformer.php ├── Genre.php ├── GenreFilters.php ├── TmdbImageClient.php ├── MovieFilters.php ├── ShowFilters.php ├── ShowResults.php ├── MovieResults.php ├── ShowImages.php ├── MovieImages.php ├── MovieViews.php └── Episodes.php ├── tests ├── TestCase.php ├── Feature │ ├── AppPageTest.php │ ├── MovieDownloadTest.php │ ├── EpisodeDownloadTest.php │ ├── GenresApiTest.php │ ├── SeasonsApiTest.php │ └── EpisodesApiTest.php ├── CreatesApplication.php └── Unit │ └── RetriableTest.php ├── .gitignore ├── .travis.yml ├── app ├── Http │ ├── Middleware │ │ ├── EncryptCookies.php │ │ ├── VerifyCsrfToken.php │ │ ├── TrimStrings.php │ │ └── RedirectIfAuthenticated.php │ ├── Controllers │ │ ├── HomeController.php │ │ ├── Controller.php │ │ ├── ImageDownloadController.php │ │ ├── Api │ │ │ ├── Settings │ │ │ │ ├── FoldersController.php │ │ │ │ ├── HistoryController.php │ │ │ │ └── SettingsController.php │ │ │ ├── GenreController.php │ │ │ ├── SeasonController.php │ │ │ ├── ApiController.php │ │ │ ├── EpisodeController.php │ │ │ ├── ShowPosterController.php │ │ │ ├── MoviePosterController.php │ │ │ ├── ShowBackdropController.php │ │ │ ├── MovieBackdropController.php │ │ │ ├── ShowResultController.php │ │ │ └── MovieResultController.php │ │ ├── MovieDownloadController.php │ │ └── EpisodeDownloadController.php │ └── Kernel.php ├── Providers │ ├── BroadcastServiceProvider.php │ ├── AuthServiceProvider.php │ ├── EventServiceProvider.php │ └── RouteServiceProvider.php ├── Jobs │ ├── Job.php │ ├── ClearHistory.php │ ├── ClearHistoryToday.php │ ├── RefreshAll.php │ └── RefreshNew.php ├── Console │ ├── Commands │ │ ├── RefreshGenres.php │ │ ├── ClearHistory.php │ │ ├── RefreshShows.php │ │ ├── RefreshMovies.php │ │ └── SetAPIKeys.php │ └── Kernel.php └── Exceptions │ └── Handler.php ├── routes ├── channels.php ├── console.php └── web.php ├── server.php ├── .env.example ├── webpack.mix.js ├── config ├── tmdb.php ├── services.php ├── view.php ├── airflix.php ├── broadcasting.php ├── cache.php ├── queue.php └── filesystems.php ├── LICENSE.txt ├── phpunit.xml ├── package.json ├── artisan └── composer.json /public/favicon.ico: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /database/seeds/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /database/migrations/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/downloads/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /storage/.gitignore: -------------------------------------------------------------------------------- 1 | *.sqlite -------------------------------------------------------------------------------- /database/.gitignore: -------------------------------------------------------------------------------- 1 | *.sqlite 2 | -------------------------------------------------------------------------------- /resources/views/vendor/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /storage/app/images/.gitignore: -------------------------------------------------------------------------------- 1 | /.cache 2 | -------------------------------------------------------------------------------- /bootstrap/cache/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /storage/logs/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /storage/tmdb/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /public/robots.txt: -------------------------------------------------------------------------------- 1 | User-agent: * 2 | Disallow: 3 | -------------------------------------------------------------------------------- /storage/app/public/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /storage/framework/cache/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore -------------------------------------------------------------------------------- /storage/framework/views/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /storage/app/images/backdrops/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /storage/app/images/episodes/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /storage/app/images/posters/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /storage/app/images/seasons/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /storage/framework/sessions/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | * text=auto 2 | *.css linguist-vendored 3 | *.less linguist-vendored 4 | -------------------------------------------------------------------------------- /public/airflix-demo.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wells/airflix/HEAD/public/airflix-demo.gif -------------------------------------------------------------------------------- /public/touch-icon-ipad.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wells/airflix/HEAD/public/touch-icon-ipad.png -------------------------------------------------------------------------------- /public/touch-icon-iphone.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wells/airflix/HEAD/public/touch-icon-iphone.png -------------------------------------------------------------------------------- /storage/app/images/no-poster.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wells/airflix/HEAD/storage/app/images/no-poster.png -------------------------------------------------------------------------------- /public/touch-icon-ipad-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wells/airflix/HEAD/public/touch-icon-ipad-retina.png -------------------------------------------------------------------------------- /storage/app/images/no-backdrop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wells/airflix/HEAD/storage/app/images/no-backdrop.png -------------------------------------------------------------------------------- /public/touch-icon-iphone-retina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wells/airflix/HEAD/public/touch-icon-iphone-retina.png -------------------------------------------------------------------------------- /storage/framework/.gitignore: -------------------------------------------------------------------------------- 1 | config.php 2 | routes.php 3 | compiled.php 4 | services.json 5 | events.scanned.php 6 | routes.scanned.php 7 | down 8 | -------------------------------------------------------------------------------- /.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": [ 3 | ["es2015", { "modules": false }], 4 | ], 5 | "plugins": [ 6 | "transform-object-rest-spread" 7 | ] 8 | } -------------------------------------------------------------------------------- /Airflix/Contracts/MovieResults.php: -------------------------------------------------------------------------------- 1 | 2 |
12 | 15 | Watch 16 | 17 |
18 |19 | {{ episode.attributes.overview }} 20 |
21 | 35 |