Skip to content

butschster/YoutubeMetrics

Repository files navigation

This is a service for collection youtube metrics and comments for following channels

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.

Used tools

  • NuxtJs (Vue JS SPA) + JWT Auth
  • Laravel 5.6
  • Mongo DB for collecting Youtube Metrics
  • MySQL
  • Redis (Cache, Queues)
  • Sentry for logs
  • Cron jobs

Console commands

Channel folowing

$ php artisan channel:follow {channel}

$ php artisan channel:unfollow {channel}

Register a new user

$ php artisan user:register

Moderation rights

$ php artisan user:grant-moderator {email}

$ php artisan user:revoke-moderator {email}

Youtube API

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

System

Create locale JS files $ php artisan locales:javascript

Generate API routes for javascript. Uses for API requests from NuxtJS $ php artisan route:javascript

Installation

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

Server configuration

https://gist.github.com/butschster/48d33bd1e3a8192ca4059d8e6a459118

About

Service for collecting channel and video metrics

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published