Este projeto é uma aplicação de gerenciamento de usuários de Bitcoin construída com Vue.js (versão 2), Vuex para gerenciamento de estado, e JSON-Server para simular uma API REST, xlxs para exportação em CSV, Axios para requisições. A aplicação permite a visualização, criação, edição e exclusão de usuários, bem como a exportação dos dados para CSV.
Certifique-se de ter o Node.js e npm instalados em sua máquina.
Troque a versão do Node para 16:
nvm install 16
nvm use 16
- Clone o repositório:
git clone https://github.com/alvesxdani/desafio-frontend-oliveira-trust
- Navegue até o diretório do projeto:
cd desafio-frontend-oliveira-trust
- Instale as dependências:
npm install
- Inicie a aplicação Vue.js:
npm start
- Abra o navegador e acesse
http://localhost:8080
.
O Vuex é utilizado para gerenciar o estado da aplicação. A estrutura do módulo users
inclui:
- State: Armazena a lista de usuários.
- Getters: Retorna a lista de todos os usuários.
- Actions: Métodos assíncronos para buscar, criar, deletar e atualizar usuários através da API do JSON-Server.
- Mutations: Métodos síncronos para atualizar o estado da store.
O componente Tabela
exibe a lista de usuários em uma tabela e permite a paginação, edição e exclusão de usuários. Também possui a funcionalidade de exportar os dados para CSV.
A paginação é implementada com base no número total de usuários e o número de usuários exibidos por página. Sem realizar a renderização com fetch.
A exportação para CSV utiliza a biblioteca SheetJS (xlsx)
para converter os dados da tabela em um arquivo CSV e permite o download do arquivo.
O componente FormularioFiltro
permite filtrar a lista de usuários por nome, sobrenome e email. Os valores dos campos são gerenciados por meio de propriedades (props
) e o estado local do componente.
Os estilos CSS são organizados em arquivos separados e importados nos componentes conforme necessário.