Skip to content

deivesfahl/nodejs-youtube-playlist-notifications

Repository files navigation

YouTube Playlist Notifications Logo

YouTube Playlist Notifications

YouTube Playlist Notifications é um projeto criado para uso pessoal, no qual tem como objetivo enviar notificações via e-mail quando um novo vídeo é publicado em uma playlist do YouTube.

Backend

Cron

As rotinas serão executadas todos os dias no período configurado.

  • Rotina que busca os vídeos no YouTube: 00h00, 06h00, 12h00 e 18h00
  • Rotina que envia notificação: 00h15, 06h15, 12h15 e 18h15.

As configurações poderam ser alteradas no arquivo .env.

Inicializar

Você precisará renomear o arquivo .env.example para .env e configurar as informações de SMTP.

git clone https://github.com/deivesfahl/nodejs-youtube-playlist-notifications

$ cd backend
$ npm install
$ npm run dev

Banco de Dados

O projeto está utilizando o ORM Prisma em conjunto com a biblioteca SQLite. As configurações podem ser alteradas em prisma/schema.prisma.

$ cd backend
$ npx prisma migrate dev

Backend - API

A API ficará acessível através da URL http://localhost:3000. A porta poderá ser alterada no arquivo .env.

Rotas de Playlists

GET /api/playlists
Local Parâmetro Tipo Descrição
query id string ID da playlist
GET /api/playlists/:id/informations
Local Parâmetro Tipo Descrição
param id string ID da playlist - obrigatório
POST /api/playlists
Local Parâmetro Tipo Descrição
body title string Título da playlist - obrigatório
body url string URL da playlist - obrigatório
PUT /api/playlists/:id
Local Parâmetro Tipo Descrição
param id string ID da playlist - obrigatório
body title string Título da playlist - obrigatório
DELETE /api/playlists/:id
Local Parâmetro Tipo Descrição
param id string ID da playlist - obrigatório

Rotas de Vídeos

GET /api/videos
Local Parâmetro Tipo Descrição
query id string ID do vídeo
query playlistId string ID da playlist
POST /api/videos
Local Parâmetro Tipo Descrição
body title string Título - obrigatório
body url string URL - obrigatório
body imageUrl string URL da imagem - obrigatório
body notify string Notificar (S ou N) - obrigatório
body playlistId string ID da playlist - obrigatório
PUT /api/videos/:id
Local Parâmetro Tipo Descrição
param id string ID do vídeo - obrigatório
body title string Título
body imageUrl string URL da imagem
body notify string Notificar (S ou N)
DELETE /api/videos/:id
Local Parâmetro Tipo Descrição
param id string ID do vídeo - obrigatório

Frontend

Layout

YouTube Playlist Notifications Layout

Inicializar

A interface ficará acessível através da URL http://localhost:9000. A porta poderá ser alterada no arquivo package.json.

$ cd frontend
$ npm install
$ npm start

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published