{"id":19005184,"url":"https://github.com/codeedu/maratona-desafios","last_synced_at":"2026-04-21T11:30:20.173Z","repository":{"id":92091786,"uuid":"247584403","full_name":"codeedu/maratona-desafios","owner":"codeedu","description":null,"archived":false,"fork":false,"pushed_at":"2020-05-05T01:26:54.000Z","size":2,"stargazers_count":48,"open_issues_count":0,"forks_count":26,"subscribers_count":12,"default_branch":"master","last_synced_at":"2025-01-01T19:27:45.238Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/codeedu.png","metadata":{"files":{"readme":"README.MD","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-03-16T01:35:07.000Z","updated_at":"2024-01-16T13:51:45.000Z","dependencies_parsed_at":null,"dependency_job_id":"6406743e-bae0-4328-b0eb-924d42c51532","html_url":"https://github.com/codeedu/maratona-desafios","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/codeedu%2Fmaratona-desafios","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codeedu%2Fmaratona-desafios/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codeedu%2Fmaratona-desafios/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codeedu%2Fmaratona-desafios/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/codeedu","download_url":"https://codeload.github.com/codeedu/maratona-desafios/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240027433,"owners_count":19736212,"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":[],"created_at":"2024-11-08T18:26:34.188Z","updated_at":"2026-04-21T11:30:20.107Z","avatar_url":"https://github.com/codeedu.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Desafio 1 - Maratona Full Cycle\n\n## Instalação e preparação do ambiente\n\nO primeiro passo para que você consiga acompanhar muito bem a Maratona é ter o seu ambiente de desenvolvimento pronto para conseguir simular tudo que te apresentaremos nos próximos vídeos. Nesse ponto o que você deve fazer como desafio nesse momento será:\n\n1. Instalar a Go Lang\n2. Printar um \"Olá Mundo\" utilizando Go Lang\n3. Instalar o Docker em seu computador\n4. Gerar e publicar uma imagem no Dockerhub do executável do programa \"Olá Mundo\".\n5. Postar nos comentários do vídeo a URL da sua imagem para que possamos executar o seu \"Olá Mundo\"\n\n\u003e Dica Importante: Desenvolvemos um Guia Rápido de Docker e de Go Lang. Ambos estão no [Canal do Telegram](https://t.me/devfullcycle). Para acessar e baixar, [clique aqui](https://t.me/devfullcycle)\n\n# Desafio 2 \n\n## Adicionar um endpoint no Microsserviço \"Drivers\" \n\nAdicione mais um endpoint no Microsserviço drivers onde é possível buscar as informações de um driver pelo ID.\n\nO formado do endpoint deve ser: /drivers/{id} do driver.\n\nCompile o programa e o disponibilize em uma imagem Docker. \nIsso significa que poderemos testar seu programa acessando:\n\n```\ndocker run -p8081:8081 seu-user-no-docker-hub/sua-imagem\n```\n\nAo acessar no browser: http://localhost/drivers/45688cd6-7a27-4a7b-89c5-a9b604eefe2f\n\nTeremos o resultado:\n\n```json\n{\n\t\"uuid\": \"45688cd6-7a27-4a7b-89c5-a9b604eefe2f\",\n\t\"name\": \"Wesley\"\n}\n```\n\nInforme na área de comentários da Maratona Desafio 2 com o endereço da sua imagem docker.\n\n# Desafio 3\n\n## Crie uma nova rota no Nest.js para Maratona\n\nUtilizando uma instalação do Nest.js, crie uma rota: \"/maratona\".\nAo acessar essa rota, uma mensagem de forma randômica deve aparecer no seguinte padrão.\n\nHello \u003cpalavra randômica\u003e\n\n### Instruções\n1.\tUtilize pelo menos 5 palavras randômicas.\n2. Para cada refresh no browser, uma palavra diferente deve aparecer.\n3. Fique livre para escolher a palavra, mas seja cordial.\n4. A função para gerar a palavra randômica deve vir de um __serviço__ definido no Nest.js.\n5. Gere uma imagem Docker e a disponibilize no Docker Hub. \n\n__Observação:__ A aplicação deve rodar na porta 8080.\n\n\u003e Informe sua imagem na área de comentários da Maratona.\n\n# Desafio 4\n\n## Integração contínua\n\nBaseado no conteúdo da [Aula ao Vivo 2](http://maratona.fullcycle.com.br/aula-ao-vivo-02.html), faça:\n\n1.\tCrie um simples teste unitário realizando alguma validação no microsserviço de simulador\n2. Utilizando o Github Actions, crie um processo que quando um push ou uma pull request for criada em seu repositório, o processo de integração contínua é executado rodando o teste unitário e o build do microsserviço.\n\n\u003e Informe na área de comentários o link direto para o GitHub Actions do repositório provando que o processo foi executado.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodeedu%2Fmaratona-desafios","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcodeedu%2Fmaratona-desafios","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodeedu%2Fmaratona-desafios/lists"}