An open API service indexing awesome lists of open source software.

https://github.com/recheeduardo/vuedex

Uma PokĆ©dex moderna e interativa. desenvolvida com VueJS e alimentada pela PokeAPI! šŸ”“āšŖ
https://github.com/recheeduardo/vuedex

api-forge bootstrap motion-vue pokeapi pokedex router-dom tabler-icons vuejs vuex

Last synced: 4 months ago
JSON representation

Uma PokĆ©dex moderna e interativa. desenvolvida com VueJS e alimentada pela PokeAPI! šŸ”“āšŖ

Awesome Lists containing this project

README

          



**VueDex** é uma aplicação web desenvolvida com Vue.js 3, Bootstrap e Vitest, que simula uma Pokédex interativa e moderna. Ela consome dados da API oficial de pokémon PokéAPI para listar, filtrar e exibir detalhes completos dos Pokémon de forma responsiva, com animações suaves e acessibilidade garantida com internacionalização e interface amigÔvel.

---

# šŸ“ø Demonstração

---

# šŸš€ Tecnologias Utilizadas

##

Framework JavaScript progressivo utilizado para construir a interface do projeto. O Vue.js 3 oferece reatividade avançada, composição de componentes e uma curva de aprendizado amigÔvel, ideal para criar interfaces ricas com facilidade.

##

Na vuedex, o javascript é usado junto com typescript pra controlar o comportamento da aplicação, buscar e tratar os dados da pokéapi, gerenciar o estado global com vuex, controlar a navegação com vue router e aplicar animações com motion one. ele também é responsÔvel por lidar com eventos, lógica de exibição, filtros, e interações nos componentes vue, garantindo que a pokédex funcione de forma dinâmica e responsiva.

##

Framework CSS utilizado para estilizar e tornar a interface da aplicação mais agradÔvel e responsiva. O Bootstrap facilita o design da aplicação, proporcionando uma interface limpa e consistente em dispositivos móveis e desktop sem a necessidade de criar CSS do zero. Ele inclui componentes como botões, formulÔrios, modais e grids, que são amplamente utilizados para garantir uma experiência de usuÔrio rica e adaptÔvel.

##

Gerenciador de estado utilizado para compartilhar dados entre componentes. A VueDex usa Vuex para armazenar e atualizar a lista de Pokémon, filtros e configurações globais da aplicação.

##

Biblioteca leve de animaƧƵes utilizada para aplicar transiƧƵes suaves entre componentes, especialmente nos cards de PokƩmon e pƔginas de detalhe.

---

# šŸ“¦ Bibliotecas Complementares

### **Vue Router** šŸ”
**Uso**: Gerencia as rotas da aplicação e navegação entre pÔginas.
**Funcionalidade**: Permite navegação entre lista de Pokémon, pÔgina de detalhes e pÔgina de erro personalizada.

### **i18n** šŸŒ
**Uso**: Implementa suporte à internacionalização.
**Funcionalidade**: Exibe os nomes dos PokƩmon no idioma do usuƔrio, baseado nos dados da PokƩAPI.

### **PokĆ©API** šŸ±ā€šŸ
**Uso**: API pĆŗblica utilizada como fonte de dados oficial para o app!
**Funcionalidade**: Fornece todas as informaƧƵes dos PokƩmon: imagens, tipos, habilidades, descriƧƵes e mais.

---

# āš™ļø Instalação e Execução

### 1. Clonar o repositório

```bash
git clone https://github.com/seuusuario/vuedex.git
cd vuedex
```

### 2. Instalar dependĆŖncias

```bash
npm install
```

### 3. Executar o projeto localmente

```bash
npm run dev
```

A aplicação estarÔ disponível em `http://localhost:5173`.

---

# 🧩 Funcionalidades

### **Scroll Infinito**:
- Os Pokémon são carregados aos poucos conforme o usuÔrio rola a tela, evitando sobrecarga na pÔgina (20 em 20).

##

### **Filtro por Tipo**:
- Filtre PokƩmon por tipo (Ɣgua, fogo, planta, etc.) diretamente na barra superior.

##

### **PƔgina de Detalhes**:
- Ao clicar em um Pokémon, o usuÔrio visualiza detalhes completos com animações em cadeia (nome, descrição, tipos, movimentos, jogos e evoluções).

##

### **AnimaƧƵes com Motion Vue**:
- As transições entre elementos são suaves e fluidas, melhorando a experiência do usuÔrio com sua componentização de animations.

##

### **Acessibilidade e Responsividade**:
- Projeto responsivo e com boas prƔticas de acessibilidade aplicadas, auxiliadas pelo layout do bootstrap.

##

### **Internacionalização (I18n) **:
- A VueDex traduz a pƔgina de descriƧƵes dos PokƩmon dinamicamente com base no idioma configurado.

---

# šŸ“ Estrutura do Projeto

```
src/
ā”œā”€ā”€ assets/ # Imagens, Ć­cones e estilos globais
ā”œā”€ā”€ components/ # Componentes reutilizĆ”veis (cards, filtros, loaders)
ā”œā”€ā”€ views/ # PĆ”ginas principais (Home, Detail, Error)
ā”œā”€ā”€ router/ # Configuração das rotas com Vue Router
ā”œā”€ā”€ store/ # Gerenciamento de estado global com Vuex
ā”œā”€ā”€ i18n/ # Internacionalização (idiomas)
ā”œā”€ā”€ services/ # ServiƧos HTTP para consumo da PokĆ©API
└── App.vue # Componente raiz da aplicação
```

---

# šŸ¤ Contribuição
1. Faça um fork do repositório.

2. Crie um novo branch:
```bash
git checkout -b minha-funcionalidade
```

3. Commit suas alteraƧƵes:
```bash
git commit -m "Minha funcionalidade"
```

4. FaƧa o push para o branch:
```bash
git push origin minha-funcionalidade
```

5. Pronto! JĆ” pode abrir seu Pull Request.

---

šŸ™Œ Ɖ isso! Caso tenha gostado do repositório, nĆ£o se esqueƧa de dar uma olhada no meu perfil ā¤