semana javascript expert07

JS Expert Week 7.0 - đŸ™…đŸ€đŸ» Controlling Streaming Platforms using Eye and Hand Detection 👁🖐

2390
524
JavaScript

JSExpertMax Gesture Controller - Semana JS Expert 7.0

Seja bem vindo(a) à sétima Semana Javascript Expert. Este é o código inicial para iniciar nossa jornada.

Marque esse projeto com uma estrela 🌟

Live demo

Preview

Pre-reqs

  • Este projeto foi criado usando Node.js v19.6
  • O ideal Ă© que vocĂȘ use o projeto em ambiente Unix (Linux). Se vocĂȘ estiver no Windows, Ă© recomendado que use o Windows Subsystem Linux pois nas aulas sĂŁo mostrados comandos Linux que possam nĂŁo existir no Windows.

Importante

  • Todo dia Ă s 18hrs estou subindo o cĂłdigo das aulas do dia corrente em classes. Se vocĂȘ for iniciar o projeto, remova a pasta classes para iniciar do zero!

Running

  • Execute npm ci na pasta que contĂ©m o arquivo package.json para restaurar os pacotes
  • Execute npm start e em seguida vĂĄ para o seu navegador em http://localhost:3000 para visualizar a pĂĄgina acima

Checklist Features

  • Titles List

    • [] - Campo para pesquisa nĂŁo deve travar ao digitar termo de pesquisa
    • [] - Deve desenhar mĂŁos na tela e fazer com que elementos em segundo plano continuem sendo clicĂĄveis 🙌
    • [] - Deve disparar scroll up quando usar a palma das mĂŁos abertas 🖐
    • [] - Deve disparar scroll down quando usar a palma das mĂŁos fechadas ✊
    • [] - Deve disparar click no elemento mais prĂłximo quando usar gesto de pinça đŸ€đŸ»
    • [] - Ao mover elementos na tela, deve disparar evento :hover em elementos em contexto
  • Video Player

    • [] - Deve ser possivel de reproduzir ou pausar videos com o piscar de olhos 😁
    • [] - Todo processamento de Machine Learning deve ser feito via Web worker

Desafios

  • [] - Aula 01 - Diferenciar piscada de olhos entre olho direito e esquerdo e atualizar log para mostrar qual olho que piscou.
  • [] - Aula 02 - Reconhecer gestos de mĂŁos individuais e printar no log
  • [] - Aula 03 - Corrigir Banner de titulo de video, para ficar atrĂĄs do desenho das mĂŁos e se tornar clicĂĄvel
  • [] - Aula 04 - Usar as mĂŁos virtuais tambĂ©m no Video Player

Desafio plus: implementar testes unitårios e alcançar 100% de coverage (avançado)

Links mostrados nos aulas:

ConsideraçÔes

  • Tire suas dĂșvidas sobre os desafios em nossa comunidade, o objetivo Ă© vocĂȘ aprender de forma divertida. Surgiu dĂșvidas? Pergunte por lĂĄ!

  • Ao completar qualquer um dos desafios, envie no canal #desafios da comunidade no Discord

FAQ

  • browser-sync estĂĄ lançando erros no Windows e nunca inicializa:
    • Solução: Trocar o browser-sync pelo http-server.
      1. instale o http-server com npm i -D http-server
      2. no package.json apague todo o comando do browser-sync e substitua por npx http-server .
      3. agora o projeto vai estar executando na :8080 entĂŁo vĂĄ no navegador e tente acessar o http://localhost:8080/
        A unica coisa, Ă© que o projeto nĂŁo vai reiniciar quando voce alterar algum cĂłdigo, vai precisar dar um F5 na pĂĄgina toda vez que alterar algo
  • Erro no navegador de Webgl is not supported on this device
    • Digite chrome://gpu/ no Chrome para verificar se o webgl estĂĄ habilitado.
    • PossĂ­veis soluçÔes:
      1. Opção 1: Habilitar a aceleração de hardware quando dispponível
      • Chrome => Settings > System > Use hardware acceleration when available
      • Firefox => Browser options > Performance > Use hardware acceleration when available
      1. Opção 2: Atualizar driver da placa de vídeo
      1. Opção 3: Trocar de WebGL para CPU (mais lento) ou Web Assembly
    • (agradecimentos ao usuario Volpin em nossa comunidade do Discord)

Créditos ao Layout