{"id":15016863,"url":"https://github.com/josuapsianturi/velflix","last_synced_at":"2025-08-27T02:10:59.611Z","repository":{"id":37793291,"uuid":"355207691","full_name":"josuapsianturi/velflix","owner":"josuapsianturi","description":"Velflix is a Laravel Netflix clone project using the TALL stack","archived":false,"fork":false,"pushed_at":"2024-03-25T14:50:02.000Z","size":24191,"stargazers_count":122,"open_issues_count":4,"forks_count":65,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-03-31T00:23:36.788Z","etag":null,"topics":["alpinejs","laravel","laravel-9","laravel-netflix-clone","laravel-project","livewire","netflix-clone","tailwind","tailwindcss","tall-stack"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/josuapsianturi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-04-06T13:55:41.000Z","updated_at":"2025-03-29T18:25:26.000Z","dependencies_parsed_at":"2024-03-16T17:03:51.795Z","dependency_job_id":"b3d19997-b3eb-41f2-8181-2dc5a19929ce","html_url":"https://github.com/josuapsianturi/velflix","commit_stats":{"total_commits":418,"total_committers":6,"mean_commits":69.66666666666667,"dds":"0.43779904306220097","last_synced_commit":"057684c58e627783f1aa8247fb394d3a8b533d36"},"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/josuapsianturi%2Fvelflix","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/josuapsianturi%2Fvelflix/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/josuapsianturi%2Fvelflix/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/josuapsianturi%2Fvelflix/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/josuapsianturi","download_url":"https://codeload.github.com/josuapsianturi/velflix/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252586386,"owners_count":21772288,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["alpinejs","laravel","laravel-9","laravel-netflix-clone","laravel-project","livewire","netflix-clone","tailwind","tailwindcss","tall-stack"],"created_at":"2024-09-24T19:49:29.613Z","updated_at":"2025-05-05T22:33:22.349Z","avatar_url":"https://github.com/josuapsianturi.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ca href=\"https://github.com/josuapsianturi/velflix\"\u003e \u003ch1 align=\"center\"\u003eVelflix\u003c/h1\u003e\u003c/a\u003e\n\u003cp align=\"center\"\u003e\u003ca href=\"https://github.com/josuapsianturi/velflix/blob/main/LICENSE\"\u003e\u003cimg src=\"https://poser.pugx.org/cpriego/valet-linux/license.svg\" alt=\"License\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n## About\n\nVelflix is a Laravel [Netflix](https://netflix.com) clone project using TALL stack ([Tailwindcss](https://tailwindcss.com/), [Alpinejs](https://github.com/alpinejs/alpine/), [Laravel](https://laravel.com/), [Livewire](https://laravel-livewire.com/) ).\n\n\u003e **Note**\n\u003e Work in Progress\n\n## Table of Contents\n\n* [Screenshots](#screenshots)\n* [Requirements](#requirements)\n* [Installation](#installation)\n* [Testing](#testing)\n* [Contributing](#contributing)\n* [License](#license)\n\n\u003ca name=\"screenshots\"\u003e\u003c/a\u003e\n## Screenshots\n\n![home page](https://raw.githubusercontent.com/josuapsianturi/velflix/main/public/img/home.png)\n\nsee full page [here](https://raw.githubusercontent.com/josuapsianturi/velflix/main/public/img/home-full-page.png)\n\n![movies header](https://raw.githubusercontent.com/josuapsianturi/velflix/main/public/img/movies-header.png)\n\n![movies](https://raw.githubusercontent.com/josuapsianturi/velflix/main/public/img/movies.png)\n\nsee full page [here](https://raw.githubusercontent.com/josuapsianturi/velflix/main/public/img/movies-full-page.png)\n\n![Detail movies](https://raw.githubusercontent.com/josuapsianturi/velflix/main/public/img/details-movie.png)\n\n\u003ca name=\"requirements\"\u003e\u003c/a\u003e\n## Requirements\n\nPackage | Version\n--- | ---\n[Node](https://nodejs.org/en/) | V14.19.1+\n[Npm](https://nodejs.org/en/)  | V6.14.16+ \n[Composer](https://getcomposer.org/)  | V2.2.6+\n[Php](https://www.php.net/)  | V8.0.17+\n[Mysql](https://www.mysql.com/)  |V 8.0.27+\n\n\u003ca name=\"installation\"\u003e\u003c/a\u003e\n## Installation\n\n\u003e **Warning**\n\u003e Make sure to follow the requirements first.\n\nHere is how you can run the project locally:\n1. Clone this repo\n    ```sh\n    git clone https://github.com/josuapsianturi/velflix.git\n    ```\n\n1. Go into the project root directory\n    ```sh\n    cd velflix\n    ```\n\n1. Copy .env.example file to .env file\n    ```sh\n    cp .env.example .env\n    ```\n1. Create database `velflix` (you can change database name)\n\n1. Create account and get an API key themoviedb [ here](https://www.themoviedb.org/settings/api). Make sure to copy `API Read Access Token (v4 auth)`.\n\n1. Go to `.env` file \n    - set database credentials (`DB_DATABASE=velflix`, `DB_USERNAME=root`, `DB_PASSWORD=`)\n    - paste `TMDB_TOKEN=(your API key)` \n    \u003e Make sure to follow your database username and password\n\n1. Install PHP dependencies \n    ```sh\n    composer install\n    ```\n\n1. Generate key \n    ```sh\n    php artisan key:generate\n    ```\n\n1. install front-end dependencies\n    ```sh\n    npm install \u0026\u0026 npm run build\n    ```\n\n1. Run migration\n    ```\n    php artisan migrate\n    ```\n    \n1. Run seeder\n    ```\n    php artisan db:seed\n    ```\n    this command will create 2 users (admin and normal user):\n     \u003e email: admin@gmail.com , password: password\n\n     \u003e email: user@gmail.com , password: password \n\n1. Run server \n    \u003e for valet users visit `velflix.test` in your favorite browser\n   \n    ```sh\n    php artisan serve\n    ```  \n\n1. Visit `localhost:8000` in your favorite browser.     \n\n    \u003e Make sure to follow your Laravel local Development Environment.\n\n1. Newsletter feature configuration (optional)\n - Go to [mailchimp](https://mailchimp.com)\n - Register your account, get API key and paste it into `.env` file. If you need help, you can follow these steps:\n    - Click Sign Up Free\n    - Enter your data, check your email and verify\n    - select Free, Next\n    - Do you have a list of contacts? (NO)\n    - Do you sell products or services online? (Neither, Products)\n    - continue\n - Go to Profile \u003e Extras \u003e API keys\n - Create a key and copy API key\n - open the velflix project, go to `.env` file and paste it into `MAILCHIMP_KEY=paste API key here`\n - Go to web.php and paste this code at the bottom or you can follow the documentation [here](https://mailchimp.com/developer/marketing/api/lists/get-lists-info/)\n ```php\n    Route::get('ping', function() {\n    $mailchimp = new MailchimpMarketing\\ApiClient();\n    $mailchimp-\u003esetConfig([\n        'apiKey' =\u003e config('services.mailchimp.key'),\n        'server' =\u003e 'us5',\n    ]);\n\n    $response = $mailchimp-\u003elists-\u003egetAllLists();\n    ddd($response);\n    });\n ```\n\n \u003e make sure you fill in the `server` correctly, check the link at the top of your admin Mailchimp, for me its `https://us5.admin.mailchimp.com/account/api/` so i give the value of server is `us5`. if you get us6, change the server value to be `us6`.\n\n- visit `localhost:8000/ping` or `velflix.test/ping` and copy value of id in the ` \"lists\" \u003e 0 \u003e \"id\"`\n- open project, in .env file paste the id into `MAILCHIMP_LIST_SUBSCRIBERS=paste id here` and we ready to go\n- visit `localhost:8000` or `velflix.test` test email for subscribing , and refresh your admin mailchimp it should be Your audience has increased 1 contact. \n\n14. Setup Laravel Socialite login with Google account (optional)\n - Go to the [Google Developers Console](https://console.cloud.google.com/apis) get \"GOOGLE_CLIENT_ID\" and \"GOOGLE_CLIENT_SECRET\". paste it into `.env` file.\n if you need help, you can follow these steps:\n - Click Credentials menu, click \"select a project\" at the navbar \u003e ALL \u003e No organization \u003e new project.\n - project name 'velflix', location should be no organization \u003e Create.\n - Go to OAuth consent screen menu \u003e Select External and Create\n - App Information \u003e app name 'velflix' choose user support email, fill email in developer contact information, save and continue\n - Go to Credentials menu \u003e click `+Create Credentials` at the top \u003e select \"OAuth Client ID\" \u003e select Application type \"Web Application\" \u003e Name 'velflix'\n - At the Authorized redirect URIs \u003e +ADD URI \u003e paste this into it `http://127.0.0.1:8000/login/google/callback` \u003e Create.\n\n \u003e NOTE: you can change the port to be `8080` or others, but make sure when you run `php artisan serve`, your project run in the same port.\n\n -  Copy `Your Client ID` and `Your Client Secret` \n - Open velflix project, go to `.env` file and paste it in `GOOGLE_CLIENT_ID=paste_here` and `GOOGLE_CLIENT_SECRET=paste_here` and we ready to go\n    ```sh\n    php artisan serve\n    ```\n - let's test, visit the project in your browser \u003e Login \u003e Login Google \u003e choose account \u003e and if success, it should be redirect to the movies page. \n \n \u003e Let me know if you get in trouble.\n\n\u003ca name=\"testing\"\u003e\u003c/a\u003e\n## Testing\n\n### \u003ca href=\"https://pestphp.com/\"\u003ePest\u003c/a\u003e\n1. To run PHP testing for Laravel\n    \u003e **Warning**\n    \u003e Every time you run testing, you should run `php artisan db:seed` first\n\n```sh\nvendor/bin/pest\n```\n\n### \u003ca href=\"https://www.cypress.io/\"\u003eCypress\u003c/a\u003e\n\n\n2. To run E2E testing\n```sh\nnpx cypress run\n```\n\n### \u003ca href=\"https://laravel.com/docs/9.x/pint\"\u003eLaravel Pint\u003c/a\u003e\n\n3. To run coding style checks\n```sh\nvendor/bin/pint\n```\n### \u003ca href=\"https://psalm.dev/\"\u003eLaravel Psalm\u003c/a\u003e\n\n4. To run static analysis with Psalm\n```sh\nvendor/bin/psalm\n```\n### \u003ca href=\"https://github.com/nunomaduro/larastan\"\u003eLarastan \u003c/a\u003e\n\n5. To run static analysis with PHPStan\n```sh\nvendor/bin/phpstan analyse\n```\n\n\u003ca name=\"contributing\"\u003e\u003c/a\u003e\n## Contributing\n\nPlease see [CONTRIBUTING](CONTRIBUTING.md) for details.\n\n\u003ca name=\"license\"\u003e\u003c/a\u003e\n## License\nVelflix is an open-sourced software licensed under [the MIT license](https://github.com/josuapsianturi/velflix/blob/main/LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjosuapsianturi%2Fvelflix","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjosuapsianturi%2Fvelflix","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjosuapsianturi%2Fvelflix/lists"}