Essa API é uma parte que compõe o projeto TV FULL, que consiste no desenvolvimento de uma skill para a assistente virtual da Amazon, Alexa. TV FULL é uma skill que possui o objetivo de fornecer informações relacionadas a programas de televisão, sendo capaz de informar a programação atual de um canal, em qual canal passará um determinado programa, possibilitando também a criação de lembrete para que a Alexa avise minutos antes do programa começar, isso e muito mais apenas pelo controle de voz.
Esta API executa duas instâncias do Node em paralelo para que em uma instância a API receba as requisições vindas da skill, processe e envie a resposta, na outra instância é processada uma fila de tarefas programadas para raspar as informações relacionadas aos canais de TV de um determinado site e salva-las no Elasticsearch.
-
Node js - Node.js é um interpretador de JavaScript assíncrono com código aberto orientado a eventos
-
Express - O Express.js é uma estrutura de aplicativo da Web para o Node.js, ele foi projetado para criar aplicativos da Web e APIs.
-
Puppeteer - O Puppeteer foi utilizado no projeto para automatizar a raspagem dos programas de tv, onde um determinado site é acessado sem que a interface do chromium seja iniciada.
-
Bull - Bull é uma biblioteca Node que implementa um sistema de filas rápida e robusta baseado no Redis. As tarefas são programadas para serem executadas em determinados horários.
-
Elasticsearch - O Elasticsearch é uma ferramenta open source NoSQL para buscas e armazenamento de dados, que tem capacidade para tratar de grandes quantidades de dados em tempo real.
-
Redis - O Redis é um armazenamento de estrutura de dados em memória de código aberto, usado como banco de dados, cache e intermediário de mensagens.
-
ESLint - O ESLint analisa estaticamente seu código para encontrar rapidamente problemas.
-
Travis - O Travis CI é um serviço de integração contínua. ele está sendo responsável por ficar com o trabalho pesado de transpilar o código typescript, já que a máquina do heroku não suportaria esse processo, e também para o deploy no próprio heroku.
-
Docker - Tecnologia utilizada para o isolamento de ambiente.
-
Prettier - Um formatador de código.
-
Heroku - Heroku é uma plataforma em nuvem como um serviço que suporta várias linguagens de programação.
-
VS Code com EditorConfig