{"id":23116933,"url":"https://github.com/gabrielborges2000/poke-api","last_synced_at":"2025-10-18T06:28:44.090Z","repository":{"id":262509702,"uuid":"887457147","full_name":"GabrielBorges2000/poke-api","owner":"GabrielBorges2000","description":null,"archived":false,"fork":false,"pushed_at":"2024-11-13T00:34:27.000Z","size":320,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-04T01:29:08.976Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","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/GabrielBorges2000.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":"2024-11-12T19:22:42.000Z","updated_at":"2024-11-13T00:34:30.000Z","dependencies_parsed_at":"2025-04-04T03:15:25.690Z","dependency_job_id":null,"html_url":"https://github.com/GabrielBorges2000/poke-api","commit_stats":null,"previous_names":["gabrielborges2000/poke-api"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/GabrielBorges2000/poke-api","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GabrielBorges2000%2Fpoke-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GabrielBorges2000%2Fpoke-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GabrielBorges2000%2Fpoke-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GabrielBorges2000%2Fpoke-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/GabrielBorges2000","download_url":"https://codeload.github.com/GabrielBorges2000/poke-api/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GabrielBorges2000%2Fpoke-api/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270912541,"owners_count":24666746,"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","status":"online","status_checked_at":"2025-08-17T02:00:09.016Z","response_time":129,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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-12-17T04:18:05.331Z","updated_at":"2025-10-18T06:28:44.002Z","avatar_url":"https://github.com/GabrielBorges2000.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Teste Prático de Frontend - Integração com PokeAPI, TypeScript e Material UI\n\nBem-vindo ao repositório de teste prático para a posição de Desenvolvedor Frontend. Este teste avalia habilidades em TypeScript, integração com APIs REST, e uso do React. Abaixo, você encontrará uma descrição detalhada dos requisitos do projeto, as expectativas para implementação e os critérios de avaliação.\n\n\n## Objetivo do Projeto\nDesenvolver uma aplicação frontend com uma interface intuitiva e responsiva, que permita listar e detalhar informações de Pokémon usando a [PokeAPI](https://pokeapi.co/docs/v2). Ao concluir, a aplicação deverá demonstrar habilidades de integração com API, manipulação de dados e interações de usuário.\n\n[Data Grid MUI / React](https://mui.com/x/react-data-grid/)\n\n[Drawer MUI / React](https://mui.com/material-ui/react-drawer/)\n\n\n## Estrutura e Requisitos do Projeto\n\n### 1. Listagem de Pokémon\n- **Objetivo**: Obter e exibir uma lista de Pokémon através de uma requisição GET na PokeAPI.\n- **Detalhes da Implementação**:\n  - Utilize a **PokeAPI** para recuperar dados básicos dos Pokémon e exiba-os em uma interface organizada e responsiva, utilizando componentes do React.\n  - Cada item da lista de Pokémon deve apresentar:\n    - Nome do Pokémon\n    - Imagem representativa\n  - Cada item deve ser clicável(Via botão Action ou linha), abrindo um Drawer com informações adicionais do Pokémon.\n\n### 2. Drawer com Detalhes do Pokémon\n- **Objetivo**: Mostrar informações detalhadas de um Pokémon em um Drawer lateral, permitindo interações adicionais do usuário.\n- **Detalhes da Implementação**:\n  - Ao clicar em um Pokémon da lista, abra um Drawer (usando o componente react) que exiba informações detalhadas, incluindo:\n    - Nome\n    - Imagem\n    - Habilidades\n    - Tipo(s)\n    - Altura e peso\n    - Experiência base\n  - Adicione no Drawer:\n    - **Opção de Like/Dislike**: permitindo que o usuário registre sua preferência pelo Pokémon.\n    - **Campo de Comentário**: para que o usuário insira uma observação pessoal sobre o Pokémon.\n\n### 3. Envio de Comentário e Preferência\n- **Objetivo**: Registrar a interação do usuário (comentário e like/dislike) com o Pokémon selecionado através de uma API mock.\n- **Detalhes da Implementação**:\n  - Após o preenchimento do campo de comentário e a seleção de like/dislike, envie as informações do Pokémon e do usuário usando a API mock:\n    ```bash\n    curl --location 'https://6723fb74493fac3cf24cd48c.mockapi.io/api/v1/pokemon' \\\n    --header 'Content-Type: application/json' \\\n    --data '{\n        \"nomePokemon\": \"nomePokemon\",\n        \"idPokemon\": \"idPokemon\",\n        \"comentarioPokemon\": \"comentarioPokemon\",\n        \"likeDislike\": true/false,\n        \"gitHubId\": \"seuGitHubId\", # ID do seu github\n    }'\n    ```\n  - As informações que devem ser enviadas incluem:\n    - Nome do Pokémon #Nome do pokémon que recebeu valor\n    - ID do Pokémon # id do pokémon dentro da API\n    - Comentário do usuário # Valor preenchido pelo usuário\n    - Estado de like/dislike (true/false) # valor recebido da interação com usuário\n  - Exiba feedback ao usuário informando o sucesso ou a falha da operação POST.\n\n## Tecnologias Requeridas\n- **TypeScript**: para tipagem estática e boas práticas de código.\n- **MUI** (ou framework frontend de sua escolha): para criação dos componentes e estrutura da interface.\n- **React**: para construção de componentes responsivos e visualmente atraentes.\n- **PokeAPI**: API pública usada para obter as informações dos Pokémon.\n- **API Mock**: fornecida para simular o envio de comentários e interações.\n\n## Guia de Implementação\n\n1. **Clonando o Repositório**\n   Clone este repositório em seu ambiente local:\n   ```bash\n   git clone https://github.com/ContractFlow/TesteDesenvolvedorFront.git\n\n2. **Adicionar breve descrição no codigo em explicacao.md**\n\n\n## Critérios de Avaliação\n- **Integração com API**\n    - Integração correta e eficiente com a PokeAPI para obtenção dos dados.\n    - Manipulação de respostas da API, incluindo paginação (se necessário) e exibição correta dos dados.\n- **Implementação de Componentes**\n    - Implementação clara e organizada de componentes usando React.\n    - Uso consistente de tipagem TypeScript para garantir robustez e clareza do código.\n- **Interface Responsiva e Design**\n    - Utilização de React para construir uma interface amigável e responsiva.\n    - A listagem e o Drawer devem se adaptar bem a diferentes tamanhos de tela, incluindo dispositivos móveis.\n- **Interatividade e Feedback do Usuário**\n    - Funcionamento correto das opções de like/dislike e campo de comentário.\n    - Feedback visual ao usuário sobre o sucesso ou falha das operações (POST) de comentário e interações.\n    - Manutenção de uma experiência de usuário fluida e intuitiva durante as interações.\n- **Qualidade do Código**\n    - Organização do projeto e clareza na estrutura dos arquivos.\n    -C ódigo bem documentado e estruturado em TypeScript, usando boas práticas de programação.\n\n## Entrega do Projeto\n- **Opções**\n    - Preferencialmente, a entrega do projeto pode ser feita via [StackBlitz](https://stackblitz.com/) para fácil visualização do código e execução do projeto.\n    - Como alternativa, você pode realizar um fork deste repositório em seu próprio GitHub e enviar o link do repositório com sua implementação.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgabrielborges2000%2Fpoke-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgabrielborges2000%2Fpoke-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgabrielborges2000%2Fpoke-api/lists"}