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.
- instale o http-server com
npm i -D http-server
- no package.json apague todo o comando do
browser-sync
e substitua por npx http-server .
- 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:
- 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
- Opção 2: Atualizar driver da placa de vĂdeo
- 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