cristiano-r-moraes / Employee_Manager_APP

This is an aplication (API) intended to manage employee's information and reports.
0 stars 0 forks source link

Correções do Teste #1

Open gcavalcante opened 3 years ago

gcavalcante commented 3 years ago

Reproducibilidade

Funcionalidades & Problemas

gabriel@MBP-de-MacBook:~/tmp$ curl -u teste:teste -H "Content-Type: application/json" localhost:5000/employees/
[{"id": 0, "name": "Anakin Skywalker", "email": "skywalker@ssys.com.br", "department": "Architecture", "salary": 4000.0}, {"id": 1, "name": "Obi-Wan Kenobi", "email": "kenobi@ssys.com.br", "department": "Back-End", "salary": 3000.0}, {"id": 2, "name": "Leia Organa", "email": "organa@ssys.com.br", "department": "DevOps", "salary": 5000.0}]

gabriel@MBP-de-MacBook:~/tmp$ curl -u teste:teste -H "Content-Type: application/json"  localhost:5000/reports/employees/age/
[{"id": 1, "name": "Anakin skywalker", "email": "skywalker@ssys.com.br", "department": "Architecture", "salary": 4000.0}, {"id": 2, "name": "Obi-Wan Kenobi", "email": "kenobi@ssys.com.br", "department": "Back-End", "salary": 3000.0}]

gabriel@MBP-de-MacBook:~/tmp$ curl -u teste:teste -H "Content-Type: application/json"  localhost:5000/reports/employees/salary/
{"id": 0, "name": null, "email": null, "department": null, "salary": null}

Aqui eu não entendi muito bem, por que você montou um ReportsModel (outro tipo de entidade)??? O certo seria você iterar (montar queries) que produzam os reports para você utilizando o EmployeeModel. Foi pedido um relatório de salários, ou de idades. É preciso fazer queries e encontrar o funcionario mais novo e mais velho, ou ainda o salário mais alto ou mais baixo.

image

Feedbacks (até aqui)

cristiano-r-moraes commented 3 years ago

Olá Gabriel, tudo bem ?

Segue o link da versão atualizada do código: https://github.com/CristianoR12/Employee_Manager_APP

O link é o mesmo que mandei anteriormente, mas envio de novo só para facilitar o acesso.

Agradeço novamente.

Atenciosamente,

Cristiano.

On Fri, Oct 15, 2021 at 8:53 AM Gabriel Cavalcante @.***> wrote:

Reproducibilidade

-

O jeito que você especificou a instalação de módulos especifica "python" mas não a versão, se o cara tiver um python2 como default seu código não vai fazer o correto.

O jeito de rodar a aplicação flask (como você não usou um nome app.py ou wsgi.py) não funciona sem a declaração do FLASK_APP: [image: image] https://user-images.githubusercontent.com/1064930/137480086-ef5d3565-bd21-4a59-b9b3-82a5f5b52a50.png [image: image] https://user-images.githubusercontent.com/1064930/137480117-f00f2178-d539-4659-9474-532e0d47cbfb.png

Faltaram requirements: [image: image] https://user-images.githubusercontent.com/1064930/137479902-50e30d4f-344d-46ca-a322-97c263063f8f.png [image: image] https://user-images.githubusercontent.com/1064930/137479989-4a83249d-e8f3-4ccf-8af9-50c48fa66014.png e mais outros.

Funcionalidades & Problemas

-

onde foi parar o birth_date??

reports não funcionam e não seguem o formato especificado:

@.***:~/tmp$ curl -u teste:teste -H "Content-Type: application/json" localhost:5000/employees/

[{"id": 0, "name": "Anakin Skywalker", "email": @.", "department": "Architecture", "salary": 4000.0}, {"id": 1, "name": "Obi-Wan Kenobi", "email": @.", "department": "Back-End", "salary": 3000.0}, {"id": 2, "name": "Leia Organa", "email": @.***", "department": "DevOps", "salary": 5000.0}]

@.***:~/tmp$ curl -u teste:teste -H "Content-Type: application/json" localhost:5000/reports/employees/age/

[{"id": 1, "name": "Anakin skywalker", "email": @.", "department": "Architecture", "salary": 4000.0}, {"id": 2, "name": "Obi-Wan Kenobi", "email": @.", "department": "Back-End", "salary": 3000.0}]

@.***:~/tmp$ curl -u teste:teste -H "Content-Type: application/json" localhost:5000/reports/employees/salary/

{"id": 0, "name": null, "email": null, "department": null, "salary": null}

Aqui eu não entendi muito bem, por que você montou um ReportsModel (outro tipo de entidade)??? O certo seria você iterar (montar queries) que produzam os reports para você utilizando o EmployeeModel. Foi pedido um relatório de salários, ou de idades. É preciso fazer queries e encontrar o funcionario mais novo e mais velho, ou ainda o salário mais alto ou mais baixo.

[image: image] https://user-images.githubusercontent.com/1064930/137482465-c0a5f968-f586-4c57-993b-17e810eedf00.png Feedbacks (até aqui)

  • Para desenvolver em uma equipe uma das partes mais imporantes é a reproducibilidade, isso é garantido através de uma boa documentação e facilidade de criação de ambientes locais de desenvolvimento. Em uma parte você foi bem, pois se preocupou em criar uma documentação e manter um requirements sucinto. Por outro lado, fica evidente que você não testou suas instruções (montando um ambiente do zero para verificar se ele funcionava). Eu sou macaco velho e não tive dificuldade e conseguir rodar seu código, porém se eu fosse alguém junior, com certeza precisaria de um pair programming para seguir.
  • Atenção nas especificações, claramente você não seguiu os contratos de api especificados no PDF, contratos são super importantes, é através deles que paralelizamos nosso trabalho, além disso entregou algo que não funciona o que é complicado.
  • Seu código é bem escrito, está usando variáveis condizentes com a realidade deles. Gostei disso!
  • Seria bom você dar uma lida na PEP8 ( https://www.python.org/dev/peps/pep-0008/), utilizar os padrões dela ajudam bastante na clareza e organização do código. Nós aqui dentro colocamos um lint dentro da esteira de integração, códigos que não obedecem a pep8 são impedidos de entrar em pull requests. [image: image] https://user-images.githubusercontent.com/1064930/137481830-ac31ee0b-735f-4f1f-a33b-0433a27284ec.png

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/CristianoR12/Employee_Manager_APP/issues/1, or unsubscribe https://github.com/notifications/unsubscribe-auth/ARZ2JYY3WZGI2TPLZD22743UHAI5BANCNFSM5GBZV2BA . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.