Velflix is a Laravel Netflix clone project using TALL stack (Tailwindcss, Alpinejs, Laravel, Livewire ).
Note Work in Progress
see full page here
see full page here
Package | Version |
---|---|
Node | V14.19.1+ |
Npm | V6.14.16+ |
Composer | V2.2.6+ |
Php | V8.0.17+ |
Mysql | V 8.0.27+ |
Warning Make sure to follow the requirements first.
Here is how you can run the project locally:
Clone this repo
git clone https://github.com/josuapsianturi/velflix.git
Go into the project root directory
cd velflix
Copy .env.example file to .env file
cp .env.example .env
Create database velflix
(you can change database name)
Create account and get an API key themoviedb here. Make sure to copy API Read Access Token (v4 auth)
.
Go to .env
file
DB_DATABASE=velflix
, DB_USERNAME=root
, DB_PASSWORD=
)TMDB_TOKEN=(your API key)
Make sure to follow your database username and password
Install PHP dependencies
composer install
Generate key
php artisan key:generate
install front-end dependencies
npm install && npm run build
Run migration
php artisan migrate
Run seeder
php artisan db:seed
this command will create 2 users (admin and normal user):
email: admin@gmail.com , password: password
email: user@gmail.com , password: password
Run server
for valet users visit
velflix.test
in your favorite browser
php artisan serve
Visit localhost:8000
in your favorite browser.
Make sure to follow your Laravel local Development Environment.
Newsletter feature configuration (optional)
.env
file. If you need help, you can follow these steps:.env
file and paste it into MAILCHIMP_KEY=paste API key here
Route::get('ping', function() {
$mailchimp = new MailchimpMarketing\ApiClient();
$mailchimp->setConfig([
'apiKey' => config('services.mailchimp.key'),
'server' => 'us5',
]);
$response = $mailchimp->lists->getAllLists(); ddd($response); });
> 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`.
localhost:8000/ping
or velflix.test/ping
and copy value of id in the "lists" > 0 > "id"
MAILCHIMP_LIST_SUBSCRIBERS=paste id here
and we ready to golocalhost:8000
or velflix.test
test email for subscribing , and refresh your admin mailchimp it should be Your audience has increased 1 contact. Setup Laravel Socialite login with Google account (optional)
.env
file.
if you need help, you can follow these steps:+Create Credentials
at the top > select "OAuth Client ID" > select Application type "Web Application" > Name 'velflix'http://127.0.0.1:8000/login/google/callback
> Create.NOTE: you can change the port to be
8080
or others, but make sure when you runphp artisan serve
, your project run in the same port.
Your Client ID
and Your Client Secret
.env
file and paste it in GOOGLE_CLIENT_ID=paste_here
and GOOGLE_CLIENT_SECRET=paste_here
and we ready to go
php artisan serve
Let me know if you get in trouble.
Warning Every time you run testing, you should run
php artisan db:seed
first
vendor/bin/pest
npx cypress run
To run coding style checks
vendor/bin/pint
To run static analysis with Psalm
vendor/bin/psalm
To run static analysis with PHPStan
vendor/bin/phpstan analyse
Please see CONTRIBUTING for details.
Velflix is an open-sourced software licensed under the MIT license