* chore: rename APIs and Microservices to include "Backend" (#42515) * fix typo * fix typo * undo change * Corrected grammar mistake Corrected a grammar mistake by removing a comma. * change APIs and Microservices cert title * update title * Change APIs and Microservices certi title * Update translations.json * update title * feat(curriculum): rename apis and microservices cert * rename folder structure * rename certificate * rename learn Markdown * apis-and-microservices -> back-end-development-and-apis * update backend meta * update i18n langs and cypress test Co-authored-by: Shaun Hamilton <shauhami020@gmail.com> * fix: add development to front-end libraries (#42512) * fix: added-the-word-Development-to-front-end-libraries * fix/added-the-word-Development-to-front-end-libraries * fix/added-word-development-to-front-end-libraries-in-other-related-files * fix/added-the-word-Development-to-front-end-and-all-related-files * fix/removed-typos-from-last-commit-in-index.md * fix/reverted-changes-that-i-made-to-dependecies * fix/removed xvfg * fix/reverted changes that i made to package.json * remove unwanted changes * front-end-development-libraries changes * rename backend certSlug and README * update i18n folder names and keys * test: add legacy path redirect tests This uses serve.json from the client-config repo, since we currently use that in production * fix: create public dir before moving serve.json * fix: add missing script * refactor: collect redirect tests * test: convert to cy.location for stricter tests * rename certificate folder to 00-certificates * change crowdin config to recognise new certificates location * allow translations to be used Co-authored-by: Nicholas Carrigan (he/him) <nhcarrigan@gmail.com> * add forwards slashes to path redirects * fix cypress path tests again * plese cypress * fix: test different challenge Okay so I literally have no idea why this one particular challenge fails in Cypress Firefox ONLY. Tom and I paired and spun a full build instance and confirmed in Firefox the page loads and redirects as expected. Changing to another bootstrap challenge passes Cypress firefox locally. Absolutely boggled by this. AAAAAAAAAAAAAAA * fix: separate the test Okay apparently the test does not work unless we separate it into a different `it` statement. >:( >:( >:( >:( Co-authored-by: Sujal Gupta <55016909+heysujal@users.noreply.github.com> Co-authored-by: Noor Fakhry <65724923+NoorFakhry@users.noreply.github.com> Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com> Co-authored-by: Nicholas Carrigan (he/him) <nhcarrigan@gmail.com>
3.3 KiB
id, title, challengeType, forumTopicId, dashedName
id | title | challengeType | forumTopicId | dashedName |
---|---|---|---|---|
587d7dbc367417b2b2512bae | Criar uma bateria eletrônica | 3 | 301370 | build-a-drum-machine |
--description--
Objetivo: Construa um app CodePen.io que seja funcionalmente semelhante a: https://codepen.io/freeCodeCamp/full/MJyNMd.
Atenda às especificações de usuário abaixo para passar em todos os testes. Dê a ele o seu próprio estilo pessoal.
Você pode usar qualquer mistura de HTML, JavaScript, CSS, Bootstrap, SASS, React, Redux e jQuery para completar este projeto. Você deve usar um framework de front-end (como React, por exemplo) porque essa seção trata de aprender frameworks de front-end. Tecnologias adicionais não listadas acima não são recomendadas e usá-las é por sua conta e risco. Estamos buscando apoiar outros frameworks de front-end como Angular e Vue, mas eles não são atualmente suportados. Vamos aceitar e tentar corrigir todos os relatórios de problemas que usem o conjunto de tecnologias sugeridas para esse projeto. Boa programação!
Especificação de usuário nº 1: eu devo ser capaz de ver um contêiner externo com um id="drum-machine"
correspondente que contém todos os outros elementos.
Especificação de usuário nº 2: dentro de #drum-machine
, eu consigo ver um elemento com um id="display"
correspondente.
Especificação de usuário nº 3: dentro de #drum-machine
, eu consigo ver 9 elementos de tambores clicáveis, cada um com o nome de classe drum-pad
, um id único que descreve o clipe de áudio que o tambor será definido para executar, e um texto interno que corresponde a uma das teclas do teclado a seguir: Q
, W
, E
, A
, S
, D
, Z
, X
, C
. Os tambores DEVEM estar nesta ordem.
Especificação de usuário nº 4: dentro de cada .drum-pad
, deve haver um elemento HTML5 audio
, que tem o atributo src
apontando para um clipe de áudio, o nome de classe clip
, e um id correspondendo ao texto interno do seu .drum-pad
pai (por exemplo, id="Q"
, id="W"
, id="E"
e assim por diante).
Especificação de usuário nº 5: quando eu clico em um elemento .drum-pad
, o clipe de áudio dentro do seu elemento filho audio
deve ser ativado.
Especificação de usuário nº 6: quando eu pressionar a tecla de disparo associada a cada .drum-pad
, o clipe de áudio dentro do elemento filho audio
deve ser ativado (por exemplo, ao pressionar a tecla Q
, deve ser acionado o tambor que tem a string Q
, ao pressionar a tecla W
, deve ser acionado o tambor que contém a string W
e assim por diante).
Especificação de usuário nº 7: quando um .drum-pad
é acionado, uma string descrevendo o clipe de áudio associado é exibido como o texto interno do elemento #display
(cada string precisa ser única).
Você pode fazer o seu projeto usando este modelo da CodePen e clicando em Save
para criar seu próprio pen. Como alternativa, use este link da nossa CDN para executar os testes em qualquer ambiente que você preferir: https://cdn.freecodecamp.org/testable-projects-fcc/v1/bundle.js
Quando tiver terminado, envie o URL do seu projeto depois de ele haver passado em todos os testes.
--solutions--
// solution required