(Versão em Português-BR | Click here for English version)
Este projeto consiste em construir uma API Pokédex e uma interface frontend simples para interagir com ela. A API Pokédex foi desenvolvida usando FastAPI em Python, e o frontend foi construído usando Angular.
Os principais objetivos do projeto Pokédex são os seguintes:
- Criar uma API para gerenciar uma lista de Pokémon capturados com paginação e visualizações detalhadas.
- Desenvolver uma interface frontend amigável para navegar e acessar informações sobre os Pokémon.
- Implementar recursos adicionais, como exportação de dados de Pokémon e geração de documentação.
- Uso de Gitflow para o desenvolvimento.
- Testes unitários com Pytest.
- Docker e Docker-Compose para build e deploy.
Barbara Calderon, desenvolvedora de software.
O principal objetivo deste projeto é criar uma API Pokédex que gerencie uma lista de Pokémon capturados com paginação e uma interface frontend simples para visualizar a lista de Pokémon e seus detalhes.
Abaixo, algumas imagens.
- URL Base: Recuperar dados de
https://pokeapi.co/api/v2/pokemon
. - Paginação: Implementar paginação com o comportamento padrão listando todos os Pokémon se nenhum offset ou limite for especificado.
- Visualização Detalhada: Implementar uma página detalhada para cada Pokémon semelhante a
https://www.pokemon.com/us/pokedex
. - Busca de Dados:
- Usar
httpx
para busca de dados. - Garantir que os dados buscados sejam suficientes para replicar os detalhes encontrados em
https://www.pokemon.com/us/pokedex
.
- Usar
- Ordenação: Ordenar os resultados da API alfabeticamente pelo nome do Pokémon.
- Funcionalidade de Exportação: Capacidade de exportar a lista ordenada de Pokémon para um arquivo XML.
- Documentação:
- Fornecer documentação da API usando Swagger.
- Seguir as melhores práticas no desenvolvimento da API.
- Tecnologias: Usar Angular.
- Funcionalidades: A interface deve permitir visualizar a lista de Pokémon e os detalhes de cada Pokémon individual.
Clone este repositório: git clone git@github.com:barbaracalderon/pokedex-api.git
Para executar a aplicação usando Docker e Docker Compose, siga estas etapas:
- Certifique-se de que o Docker e o Docker Compose estão instalados em seu sistema.
- Navegue até o diretório do projeto:
cd pokedex-api
- Execute a aplicação:
docker-compose up
Isso irá construir e iniciar os serviços de backend e frontend.
-
Frontend: O frontend Angular estará acessível em
http://localhost:4200
. Você pode abrir seu navegador e navegar para este URL para usar a interface frontend. -
API Backend: O backend FastAPI estará acessível em
http://localhost:8000
. Você pode acessar a documentação da API (Swagger UI) emhttp://localhost:8000/docs
.
Método | Endpoint | Descrição |
---|---|---|
GET | /pokemons | Lista Pokémon |
GET | /data | Lista dados de Pokémon |
GET | /docs | Documentação Swagger do OpenAPI |
GET | /export | Exporta a lista de Pokémon em formato XML |
Este projeto foi gerado com Angular CLI versão 17.3.7.
Execute ng serve
para um servidor de desenvolvimento. Navegue até http://localhost:4200/
. A aplicação será recarregada automaticamente se você alterar qualquer um dos arquivos de origem.
Execute ng generate component nome-componente
para gerar um novo componente. Você também pode usar ng generate directive|pipe|service|class|guard|interface|enum|module
.
Execute ng build
para construir o projeto. Os artefatos de construção serão armazenados no diretório dist/
.
Execute ng test
para executar os testes unitários via Karma.
Execute ng e2e
para executar os testes de extremidade a extremidade via uma plataforma de sua escolha. Para usar este comando, você precisa primeiro adicionar um pacote que implemente capacidades de teste de extremidade a extremidade.
Para obter mais ajuda sobre o Angular CLI, use ng help
ou consulte a Visão Geral e Referência de Comandos do Angular CLI.
O projeto Pokédex representa a culminação de esforços para criar um sistema de gerenciamento de Pokémon abrangente e amigável. Desenvolvido por mim, Barbara Calderon, o projeto visa simplificar o processo de gerenciamento e acesso a dados de Pokémon, proporcionando uma experiência de usuário perfeita.
Esperamos que este sistema atenda às suas necessidades e melhore suas atividades relacionadas a Pokémon.