Metrics collect by Youtube API. You can use unlimited amount of api kys and can balance api requests between them for increasing requests limits. If one of keys reached limits it will blocks untill next period. If all keys are blocked then metrics collecting will be stopped untill next period.
- NuxtJs (Vue JS SPA) + JWT Auth
- Laravel 5.6
- Mongo DB for collecting Youtube Metrics
- MySQL
- Redis (Cache, Queues)
- Sentry for logs
- Cron jobs
$ php artisan channel:follow {channel}
$ php artisan channel:unfollow {channel}
$ php artisan user:register
$ php artisan user:grant-moderator {email}
$ php artisan user:revoke-moderator {email}
Registering a new api key
$ php artisan youtube:register-api-key {key}
Removing existing API key
$ php artisan youtube:remove-api-key {key}
Get list of API keys (only active keys)
$ php artisan youtube:keys-active
Create locale JS files
$ php artisan locales:javascript
Generate API routes for javascript. Uses for API requests from NuxtJS
$ php artisan route:javascript
This application uses queues for runing and handling request and can be deployed on several servers.
- Frontend server with NuxtJS
- Workers
- Cron
- Database (MySQL)
- Queue server (Redis)
- Cache server (Redis)
You can deploy this project by using Deployer.
$ dep depoly
https://gist.github.com/butschster/48d33bd1e3a8192ca4059d8e6a459118