{"id":16785807,"url":"https://github.com/danielobara/javascript-rocketseat","last_synced_at":"2025-03-22T00:32:23.161Z","repository":{"id":48972667,"uuid":"173347313","full_name":"DanielObara/Javascript-Rocketseat","owner":"DanielObara","description":"JS @Rocketseat Challenge Excercises :book:","archived":false,"fork":false,"pushed_at":"2020-08-08T14:44:21.000Z","size":40,"stargazers_count":50,"open_issues_count":2,"forks_count":20,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-03-18T06:35:53.413Z","etag":null,"topics":["javascript","javascript-exercises","javascript-rocketseat","javascript-starter","rocketseat-starter-js"],"latest_commit_sha":null,"homepage":"https://skylab.rocketseat.com.br","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DanielObara.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-03-01T18:08:41.000Z","updated_at":"2024-10-03T20:57:18.000Z","dependencies_parsed_at":"2022-08-30T07:42:57.463Z","dependency_job_id":null,"html_url":"https://github.com/DanielObara/Javascript-Rocketseat","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DanielObara%2FJavascript-Rocketseat","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DanielObara%2FJavascript-Rocketseat/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DanielObara%2FJavascript-Rocketseat/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DanielObara%2FJavascript-Rocketseat/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DanielObara","download_url":"https://codeload.github.com/DanielObara/Javascript-Rocketseat/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244890102,"owners_count":20527030,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["javascript","javascript-exercises","javascript-rocketseat","javascript-starter","rocketseat-starter-js"],"created_at":"2024-10-13T08:10:27.723Z","updated_at":"2025-03-22T00:32:22.830Z","avatar_url":"https://github.com/DanielObara.png","language":"JavaScript","readme":"\u003ch1 align=\"center\"\u003e\n    \u003cimg alt=\"Starter\" title=\"Javascript Starter\"src=\".github/logo.svg\" width=\"200px\" /\u003e\n\u003c/h1\u003e\n\n\u003ch3 align=\"center\"\u003e\n  JS Rocketseat Challenge Excercises :book:\n\u003c/h3\u003e\n\n\u003cp align=\"center\"\u003eThis project is just the final exercises of each Rocketseat Javascript course module \u003ca href=\"https://skylab.rocketseat.com.br/journey/starter\"\u003eJavaScript Starter\u003c/a\u003e 🎓\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \n  \u003cimg alt=\"GitHub language count\" src=\"https://img.shields.io/github/languages/count/danielobara/Javascript-Rocketseat?color=%2304D361\"\u003e\n\n  \u003ca href=\"https://www.linkedin.com/in/danielobara/\"\u003e\n    \u003cimg alt=\"Made by DanielObara\" src=\"https://img.shields.io/badge/made%20by-DanielObara-%2304D361\"\u003e\n  \u003c/a\u003e\n\n  \u003cimg alt=\"License\" src=\"https://img.shields.io/badge/license-MIT-%2304D361\"\u003e\n  \n  \u003ca\u003e\n    \u003cimg alt=\"Repository size\" src=\"https://img.shields.io/github/repo-size/danielobara/Javascript-Rocketseat.svg\"\u003e\n  \u003c/a\u003e\n  \n  \u003ca href=\"https://github.com/danielobara/Javascript-Rocketseat/commits/master\"\u003e\n    \u003cimg alt=\"GitHub last commit\" src=\"https://img.shields.io/github/last-commit/danielobara/Javascript-Rocketseat.svg\"\u003e\n  \u003c/a\u003e\n   \u003ca href=\"https://github.com/DanielObara/Javascript-Rocketseat/stargazers\"\u003e\n    \u003cimg alt=\"Stargazers\" src=\"https://img.shields.io/github/stars/danielobara/Javascript-Rocketseat?style=social\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n### Exercícios Módulo 01 - Introdução JavaScript :point_up:\n\n:one:** exercício** :pencil:\n\nCrie uma função que dado o objeto a seguir:\n\n```\nvar endereco = {\n\t\trua: \"Rua dos pinheiros\",\n\t\tnumero: 1293,\n\t\tbairro: \"Centro\",\n\t\tcidade: \"São Paulo\",\n\t\tuf: \"SP\"\n};\n```\n\nRetorne o seguinte conteúdo:\n\n`O usuário mora em São Paulo / SP, no bairro Centro, na rua \"Rua dos Pinheiros\" com nº 1293.`\n\n:two:** exercício** :pencil:\n\nCrie uma função que dado um intervalo (entre x e y) exiba todos número pares:\n\n```\nfunction pares(x, y) {\n// código aqui\n}\npares(32, 321);\n```\n\n:three:** exercício** :pencil:\n\nEscreva uma função que verifique se o vetor de habilidades passado possui a habilidade \"Javascript\"\ne retorna um booleano true/false caso exista ou não.\n\n```\nfunction temHabilidade(skills) {\n// código aqui\n}\nvar skills = [\"Javascript\", \"ReactJS\", \"React Native\"];\ntemHabilidade(skills); // true ou false\n```\n\n_Dica: para verificar se um vetor contém um valor, utilize o método indexOf._\n\n:four:** exercício** :pencil:\n\nEscreva uma função que dado um total de anos de estudo retorna o quão experiente o usuário é:\n\n```\nfunction experiencia(anos) {\n// código aqui\n}\nvar anosEstudo = 7;\nexperiencia(anosEstudo);\n// De 0-1 ano: Iniciante\n// De 1-3 anos: Intermediário\n// De 3-6 anos: Avançado\n// De 7 acima: Jedi Master\n```\n\n:five:** exercício** :pencil:\n\nDado o seguinte vetor de objetos:\n\n```\nvar usuarios = [\n{\nnome: \"Diego\",\nhabilidades: [\"Javascript\", \"ReactJS\", \"Redux\"]\n},\n{\nnome: \"Gabriel\",\nhabilidades: [\"VueJS\", \"Ruby on Rails\", \"Elixir\"]\n}\n];\n```\n\nEscreva uma função que produza o seguinte resultado:\n\n`O Diego possui as habilidades: Javascript, ReactJS, Redux O Gabriel possui as habilidades: VueJS, Ruby on Rails, Elixir`\n\n_Dica: Para percorrer um vetor você deve utilizar a sintaxe for...of e para unir valores de um array\ncom um separador utilize o join._\n\n### **Exercícios Módulo 02** - Manipulando a DOM :v:\n\n:one:** exercício** :pencil:\n\nCrie um botão que ao ser clicado cria um novo elemento em tela com a forma de um quadrado\nvermelho com 100px de altura e largura. Sempre que o botão for clicado um novo quadrado deve\naparecer na tela.\n\n:two:** exercício** :pencil:\n\nUtilizando o resultado do primeiro desafio, toda vez que o usuário passar o mouse por cima de\nalgum quadrado troque sua cor para uma cor aleatória gerada pela função abaixo:\n\n```\nfunction getRandomColor() {\n var letters = \"0123456789ABCDEF\";\n var color = \"#\";\n for (var i = 0; i \u003c 6; i++) {\n color += letters[Math.floor(Math.random() * 16)];\n }\n return color;\n}\nvar newColor = getRandomColor(); // #E943F0\n```\n\n:three:** exercício** :pencil:\n\nA partir do seguinte vetor:\n\n```\nvar nomes = [\"Diego\", \"Gabriel\", \"Lucas\"];\n```\n\nPreencha uma lista ```\u003cul\u003e``` no HTML com os itens da seguinte forma:\n\n● Diego\n● Gabriel\n● Lucas\n\n:four:** exercício** :pencil:\n\nSeguindo o resultado do exercício anterior adicione um input em tela e um botão como a seguir:\n\n```\n\u003cinput type=\"text\" name=\"nome\"\u003e\n\u003cbutton onClick=\"adicionar()\"\u003eAdicionar\u003c/button\u003e\n```\n\nAo clicar no botão, a função adicionar() deve ser disparada adicionando um novo item a lista de\nnomes baseado no nome preenchido no input e renderizando o novo item em tela juntos aos\ndemais itens anteriores. Além disso, o conteúdo do input deve ser apagado após o clique.\n\n\n### **Exercícios Módulo 03** - App de ToDos :\n\nCriado aplicativo Todo List no qual armazena os dados na localStorage. Cria e exclui itens na lista de Todo's.\n\n\n### **Exercícios Módulo 04** - JS Assíncrono :\n\n:one:** exercício**\nCrie uma função que recebe a idade de um usuário e retorna uma Promise que depois de 2\nsegundos retornará se usuário é maior ou não que 18 anos. Se o usuário ter mais que 18 anos de\nidade o resultado deve cair no `.then,` caso contrário, no `.catch`\n\n```\nfunction checaIdade(idade) {\n // Retornar uma promise\n}\nchecaIdade(20)\n .then(function() {\n console.log(\"Maior que 18\");\n })\n .catch(function() {\n console.log(\"Menor que 18\");\n });\n\n```\n\n:two:** exercício**\nCrie uma tela com um\n`\u003cinput\u003e` que deve receber o nome de um usuário no Github. Após digitar o\nnome do usuário e clicar no botão buscar a aplicação deve buscar pela API do Github (conforme\nURL abaixo) os dados de repositórios do usuário e mostrá-los em tela:\nURL de exemplo: https://api.github.com/users/diego3g/repos\nBasta alterar \"diego3g\" pelo nome do usuário.\n\n```\n\u003cinput type=\"text\" name=\"user\"\u003e\n\u003cbutton onclick=\"\"\u003eAdicionar\u003c/button\u003e\n```\n\nDepois de preencher o input e adicionar, a seguinte lista deve aparecer abaixo:\n\n```\n\u003cul\u003e\n \u003cli\u003erepo1\u003c/li\u003e\n \u003cli\u003erepo2\u003c/li\u003e\n \u003cli\u003erepo3\u003c/li\u003e\n \u003cli\u003erepo4\u003c/li\u003e\n \u003cli\u003erepo5\u003c/li\u003e\n\u003c/ul\u003e\n```\n\n:three:** exercício**\nA partir do resultado do exemplo anterior adicione um indicador de carregamento em tela no lugar\nda lista apenas enquanto a requisição estiver acontecendo:\n\n```\n\u003cli\u003eCarregando...\u003c/li\u003e\n```\n\nAlém disso, adicione uma mensagem de erro em tela caso o usuário no Github não exista.\nDica: Quando o usuário não existe, a requisição irá cair no .catch com código de erro 404.\n\n## 🤔 Como contribuir\n\n- Faça um fork desse repositório;\n- Cria uma branch com a sua feature: `git checkout -b minha-feature`;\n- Faça commit das suas alterações: `git commit -m 'feat: Minha nova feature'`;\n- Faça push para a sua branch: `git push origin minha-feature`.\n\nDepois que o merge da sua pull request for feito, você pode deletar a sua branch.\n\n## :memo: Licença\n\nEsse projeto está sob a licença MIT. Veja o arquivo [LICENSE](LICENSE.md) para mais detalhes.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdanielobara%2Fjavascript-rocketseat","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdanielobara%2Fjavascript-rocketseat","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdanielobara%2Fjavascript-rocketseat/lists"}