Projeto simula uma transmissão de rádio, onde o controlador pode iniciar, parar e adicionar efeitos sonoros na transmissão de aúdio.
Marque esse projeto com uma estrela 🌟
Precisar ter o docker-compose e o node v17 instalado, para seguir os passos a seguir:
- Clonar repositório
- Instalar depedências
npm install
- Comando para roda os testes
npm run test:coverage:docker
- Comando para rodar em modo dev na porta 3000
npm run dev:docker
-
server
- service = tudo que é regra de negocio ou processamento
- controller = intermediar a camada de apresentação e a camada de negocio
- routes = camada de apresentação
- server = responsavel por criar o servidor (mas nao instancia)
- index = instancia o servidor e expoe para a web (lado da infraestrura)
- config = tudo que for estático do projeto
-
public
- service = tudo que é regra de negocio ou processamento
- controller = é o intermedio entre a view e o service
- view = tudo que é elemento HTML (visualizacao)
- index = Factory = quem inicializa tudo
-
Web API
- Deve atingir 100% de cobertura de código em testes
- Deve ter testes de integração validando todas as rotas da API
- Deve entregar arquivos estáticos como Node.js Stream
- Deve entregar arquivos de música como Node.js Stream
- Dado um usuário desconectado, não deve quebrar a API
- Mesmo que vários comandos sejam desparados ao mesmo tempo, não deve quebrar a API
- Caso aconteça um erro inesperado, a API deve continuar funcionando
- O projeto precisa ser executado em ambientes Linux, Mac e Windows
-
Web App
- Client
- Deve reproduzir a transmissão
- Não deve pausar se algum efeito for adicionado
- Controller
- Deve atingir 100% de cobertura de código em testes
- Deve poder iniciar ou parar uma transmissão
- Deve enviar comandos para adicionar audio efeitos à uma transmissão
- Client
- Aula 01: Cobrir as camadas service e route com testes unitários e alcançar 100% de code coverage
- Aula 02: Manter 100% de code coverage e implementar testes e2e para toda a API
- Aula 03: implementar testes unitários para o frontend e manter 100% de code coverage
- PLUS:
- disponibilizar um novo efeito
- adicionar um botão novo no controlador
- adicionar um som de efeito novo para a pasta
audios/fx/
- republicar no heroku
- disponibilizar um novo efeito
-
NODE_OPTIONS
não é um comando reconhecido pelo sistema, o que fazer?- Se você estiver no Windows, a forma de criar variáveis de ambiente é diferente. Você deve usar a palavra
set
antes do comando. - Ex:
"test": "set NODE_OPTIONS=--experimental-vm-modules && npx jest --runInBand",
- Se você estiver no Windows, a forma de criar variáveis de ambiente é diferente. Você deve usar a palavra
-
Rodei
npm test
mas nada acontece, o que fazer?- Verifique a versão do seu Node.js. Estamos usando na versão 17. Entre no site do node.js e baixe a versão mais recente.