Code Monkey home page Code Monkey logo

exercicios-2024's Introduction

Exercícios

Olá! Este repositório contém os exercícios de desenvolvimento da Chuva, você deve implementar pelo menos uma das tecnologias disponíveis, conforme sua preferência pessoal e aptidão.

Só serão considerados para correção testes em que as verificações do Github Actions estejam passando (verdinhas).

Tecnologias

Dart

Nesse caso você deve implementar um protótipo de alta fidelidade no figma de uma tela para você implementar em Flutter, veja detalhes aqui.

PHP

Em PHP você deve implementar o GaloScrapper, veja os detalhes aqui.

Typescript + HTML + SCSS

Nesse caso você deve implementar uma página de trabalho. Pra facilitar sua vida, nosso repositório já vem com pronto pra consumo, e mesmo que você não for familiar com o Angular ou Typescript, dá pra só colocar o html e o scss nos arquivos corretos, e vai funcionar (inclusive os testes automatizados vão passar).

FAQ

Ficou com alguma dúvida? Crie uma issue nesse repo com a sua dúvida :)

Posso resolver mais de um exercício?

Sim, pode resolver em todos se quiser, e vamos levar todas as resoluções em consideração!

Tenho que resolver todos os exercícios?

Não, você pode resolver só um, dois, ou todos.

Como entregar os exercícios?

Para entregar os exercícios:

  1. Crie um fork público deste repositório.
  2. Enquanto programa sua solução, faça commits atômicos.
  3. Quando estiver tudo passando nos testes, grave o vídeo explicando sua resolução.
  4. Nos envie o link do seu repositório pelo formulário que te enviamos.

exercicios-2024's People

Contributors

dependabot[bot] avatar wundo avatar zsanmartin avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

exercicios-2024's Issues

Objetivo

Não compreendi como eu resolvo o exercício de ts, eu instalei as dependências e fiz tudo certo e rodando, mas não sei se entendi o objetivo do exercício(seria esse criar a página de trabalho?).

Erro no PHPUnit durante testes automatizados GaloScrapper

Olá, espero que estejam bem! :)

Inicialmente, escolhi o exercício GaloScrapper e modifiquei os arquivos na pasta "src" (Scrapper.php e Main.php) de acordo com minha abordagem e lógica de programação.

image

Consegui elaborar um código que produz um arquivo CSV com as colunas e dados corretos.

Entretanto, ao executar os testes automatizados no GitHub Actions, deparei-me com um erro no PHPUnit, indicando: "Failed asserting that null matches expected 123".

image

Esta informação '123' da imagem pode ser encontrada em tests/Unit/WebScrapping/Entity/PaperTest.php.

image

Ao revisitar meus passos, notei que os arquivos na pasta "src" do repositório de origem possuem um código que acredito ser um "exemplo", e interpretei eles como uma referência flexível para modificações. Agora, surge a dúvida se deveria ter mantido esse código intacto OU se era esperado que eu o modificasse de acordo com minha própria lógica, considerando que os requisitos dos testes automatizados sugerem a busca de uma informação que não está presente na página HTML (origin.html) alvo do web scraping (como pode ser visto na imagem acima).

Assim, gostaria de esclarecer se:

  1. É aceitável aplicar nossa própria lógica na resolução do exercício? (mesmo ele não passando no PHPUnit, devido a falta de uma informação inexistente no arquivo origin.html)

OU

  1. É preferível utilizar a lógica proposta por vocês que pode ser vista nos arquivos do repositório de origem (Scrapper.php e Main.php) como uma base para estender e adaptar a solução proposta? (visto que sem tal lógica, o teste do PHPUnit não passa com a lógica adotada por mim anteriormente)

Se minha interpretação estiver equivocada, ficarei grato por qualquer orientação adicional ou esclarecimento que possam fornecer.

Agradeço a atenção!

Resolução

Boa tarde.
Em relação ao exercício Typescript + HTML + SCSS
Eu nao consegui entender se é para ser feita uma nova pagina de trabalho a partir do protótipo que voces disbonibilizaram, ou se é para corrrigir os erros existentes no codigo de voces.
Ou ainda, se é para fazer ambas as coisas, criar uma nova pagina de trabalho sem os erros que existem no protótipo do exercício.

Se possível, gostaria de um passo a passo mais detalhado sobre o que e como deve ser feito.
Obrigada.

Dúvido sobre o projeto front-end HTML, CSS e TypeScript

Olá, Bom dia, estou com uma dúvida para entender o objetivo do projeto. Nunca usei o Angular e Cypress, contudo seguindo o passo a passo das orientações do projeto. Pelo o que entendi do relatório do Cypress, tá tudo certo. Sendo assim, o objetivo do projeto é fazer um novo layout contendo as especificações do teste Cypress?

Dúvida relacionada ao último teste no projeto de frontend

Olá, boa tarde! Tudo bem com vocês?

Tenho uma dúvida relacionada ao último teste no projeto de frontend.

No seguinte trecho de código:
it('enviar o formulário exibe mensagem de sucesso', () => {
cy.get('.btn-create-topic').click();
cy.get('button').click();
cy.get('body').contains('Aguardando feedback dos autores');
cy.compareSnapshot('Trabalho - Tópico enviado');
});

A minha dúvida é a seguinte: No teste, não seria mais apropriado especificar a classe do botão que está sendo clicado durante o envio do formulário? Parece que o teste está tentando clicar em todos os botões da página.

Obrigado.

Problema com permissao de escrita nos testes

══╡ EXCEPTION CAUGHT BY FLUTTER TEST FRAMEWORK ╞════════════════════════════════════════════════════
The following FileSystemException was thrown while running async test code:
Creation failed, path = '/C:' (OS Error: Read-only file system, errno = 30)

o que fiz:

adicionei as linhas no AndroidManifest.xml na pasta main:
android:icon="@mipmap/ic_launcher"
android:requestLegacyExternalStorage="true">

segue o arquivo AndroidManifest.xml completo:

    </activity>
    <!-- Don't delete the meta-data below.
         This is used by the Flutter tool to generate GeneratedPluginRegistrant.java -->
    <meta-data
        android:name="flutterEmbedding"
        android:value="2" />
</application>

Dúvida sobre o Desafio de Dart

Percebi que o diretório destinado ao desafio de Dart está vazio. Dessa forma, fiquei na dúvida se não deve ter um desafio proposto para a linguagem Dart ou se foi um erro ao subir os arquivos pro repositório remoto.

Problema com testes de integração Flutter - Android

Olá! Logo após fazer um fork do repositório (ainda sem alterar o código da parte de Dart, mantendo exatamente como estava no repo da Chuva) tentei executar os testes de integração.
No entanto, recebia o erro abaixo:
error

Tentei executar várias vezes, alterei a permissão das pastas, rodei em linux, windows e inclusive troquei o dispositivo físico Android que eu estava depurando. Mesmo assim o erro persistiu.
No telegram, encontrei algumas mensagens de uma gotícula que teve o mesmo problema e ele comentava que o erro poderia estar relacionado com o uso do Android.

Para testar se o problema era, de fato, os testes no Android, consegui emprestado um Macbook e realizei novamente os testes, obtendo sucesso (surpreendentemente!!), como pode ser visto abaixo:
WhatsApp Image 2024-04-02 at 7 12 44 PM

Além disso, mesmo quando saio do local e subo para o Github também tenho problemas, já que a verificação dos testes para de ser executada após 12 minutos e recebo erro de time out. . Isso me preocupa, pois foi dito que "Só serão considerados para correção testes em que as verificações do Github Actions estejam passando (verdinhas)."

Erro das Actions:
errorTimeOut

Com isso, gostaria de saber se posso continuar desenvolvendo o aplicativo, mesmo que os testes de integração só estejam rodando em IOS e que as verificações do Github Action não estejam passando.

-> IMPORTANTE: Todos esses testes foram executados no fork original, sem que eu tivesse feito alguma alteração e também após alterações.

Duvida em relacao ao Actions

Boa noite!
Eu fiz o fork, fiz os commits e por fim o push, verifiquei os arquivos .yml. Mas o actions simplesmente nao acusa nada. O que pode estar acontecendo ?

Dúvida em relação a interface

Boa tarde! Rodei os testes e verifiquei os requisitos que o projeto deve possuir. Sobre o protótipo, podemos fazer alterações ou deve ser seguido fielmente?

Criar tela de Home

Descrição:
É necessário exibir as atividades que ocorrerão durante os mês atual no decorrer da semana, sendo possível navegar entre os dias para ver as atividades que ocorrerão durante um dia.

Problemas com Github Actions

Quando testo minha resolução no Actions no run test , ele faz todas as checagens mas simplesmente para. Não aponta nenhum erro. Todos esses testes param com exatos 5 minutos. Fiz os testes no Cypress e eles passaram sem problemas.

Essas são as últimas duas linhas:
✔ Compiled successfully.
Error: The operation was canceled.

Problema com teste

Estou tendo problemas com o ultido teste no projeto Ts;
Teste : 'enviar o formulário exibe mensagem de sucesso', ele está travando nessa parte 'cy.get('button').click();' que deveria clicar em qualquer 'button', dentro do meu form tem '<button class="submit" (click)="submit()">Enviar', esse seria o ultimo teste que me falta acertar para entregar meu desafio.

Dúvida sobre o projeto Front-End

Olá, gostaria de esclarecer uma dúvida sobre o projeto de HTML + CSS + TypeScript!

Existe algum protótipo que deve ser seguido em relação ao design? Ou apenas seguir as instruções dos elementos que devem conter e com quais valores e atributos? Verifiquei todo o código e surgiu essa dúvida.

Gostaria de saber se rodei os testes certo

Recebi uma mensagem falando que não rodei meus testes no github, porém não achei nada sobre como fazer isso na documentação. Apenas realizei os testes que foram mandados (npm run test, npx cypress open --env type=base). Os testes todos passaram e as prints estão na devida pasta do cypress. Gostaria de saber se está tudo certo, e se não estiver, o que posso fazer.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.