项目作者: Wiriyamu

项目描述 :
Front-end created for technical challenge in the Roga Labs selection process.
高级语言: Vue
项目地址: git://github.com/Wiriyamu/roga-labs-technical-challenge.git
创建时间: 2021-03-05T15:40:40Z
项目社区:https://github.com/Wiriyamu/roga-labs-technical-challenge

开源协议:

下载


Pikachu


Roga Labs Technical Challenge





Sobre
Funcionalidades
Diferenciais
Tecnologias
Como executar o projeto

💻 Sobre a Roga Labs

A tecnologia surgiu para facilitar, organizar e automatizar a vida das pessoas. É com esse propósito que desenvolvemos soluções para o mundo corporativo e governamental, resolvendo problemas reais do dia-a-dia. Nossa missão é prover soluções digitais em diversos segmentos, sempre com o objetivo de aumentar a eficiência dos nossos clientes.


⚙️ Funcionalidades

  • [✔️] Deverá ser apresentado a listagem de usuários cadastrados;

    • Componente ListStudents.vue
  • [✔️] Quando não possuir nenhum usuário, deverá exibir a mensagem “Não há usuários cadastrados”;

    • Componente: ListStudents.vue, Linha 10 e 152
  • [✔️] Quando realizar a busca e não tiver nenhum usuário com o critério informado, deverá exibir a mensagem: “Não há usuários com os critérios de busca utilizados”;

    • Componente: ListStudents.vue, Linha 11 e 148
  • [⚠️] A listagem deverá ser persistida no LocalStorage;

    • A listagem foi persistida num banco de dados local, permitindo assim um maior controle da aplicação. Podemos buscar, criar, editar e excluir usuários. O arquivo db.json, na raiz do projeto, controla o fluxo de dados ‘mockando‘ uma api REST.
  • [✔️] Alteração do Card quando o usuário estiver ativo ou inativo;

    • Quando o usuário estiver ativo, o mesmo pode ser editado e excluído. Se estiver inativo, essas ações não são permitidas. Os usuários ativos tem um círculo Verde ao lado de seus nomes, já os inativos, um Vermelho.

🚀 Diferenciais

  • [✔️] Implementação da busca

    • Componentes: SearchInput.vue e ListStudents.vue
  • [✔️] Implementação do filtro

    • Componentes: FilterSelect.vue e ListStudents.vue
  • [⚠️] Utilização do Vuetify

    • Como o Vuetify ainda não tem compatibilidade com o Vue 3, o framework Bootstrap foi usado em seu lugar.
  • [❌] Deploy da aplicação no Heroku ou Netlify

    • O deploy da aplicação não pôde ser feito, já que não conseguiriamos consumir nossa api REST local.

🛠 Tecnologias

As seguintes ferramentas foram usadas na construção do projeto:

Front-end

  • Html5
  • Css3
  • Sass
  • Bootstrap
  • Javascript
  • Vue.js 3
  • Vue Test Utils
  • Jest
  • Axios
  • Husky
  • Lint-staged
  • Commitlint
  • Gitflow

Utilitários


🚀 Como executar o projeto

Pré-requisitos

🎲 Rodando o projeto - Frontend

  1. # Clone o repositório
  2. $ git clone <repositorio>
  3. # Acesse a pasta do projeto no seu (terminal, bash, prompt de comando)
  4. # Instale as dependências
  5. $ yarn
  6. # Execute o script "api"
  7. $ yarn api
  8. # A api iniciará na porta: 3000
  9. http://localhost:3000/students
  10. # Execute o script "serve"
  11. $ yarn serve
  12. # O projeto iniciará na porta: 8080
  13. http://localhost:8080

Compilar e minificar para produção

  1. yarn build

Rodar testes unitários

  1. yarn test:unit

Executar lint nos arquivos

  1. yarn lint

Feito com ❤️ por Willian Silva 👋 Entre em contato :)