Skip to content

lucianoob/app_dgb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

App DGB

Teste de um app para cadastro de compras com cahsback.

Pré-Requisitos

Para rodar o projeto deve-se utilizar os seguintes requisitos:

  • Nodejs
  • NPM
  • MongoDB

Componentes

Os principais componentes utilizados neste projeto são:

  • App

    • Nodejs v10.20.1
    • NPM v6.14.4
    • MongoDB v3.6.8
  • Backend (API)

    • axios v0.19.2
    • express v4.17.1
    • mongoose v5.9.12
    • jsonwebtoken v8.5.1
    • jest v26.0.1
    • supertest v4.0.2
  • Frontend

    • react v16.13.1
    • react-bootstrap v1.0.1
    • react-router-dom v5.1.2
    • bootstrap v4.4.1
    • axios v0.19.2
    • react-fontawesome v0.1.9

Instalação

Para instalar basta rodar os comandos abaixo, lembrando que é necessário ter todos os pré-requisitos instalados.

  • npm i (montar o frontend)
  • cd api && npm i (montar o backend)

Execução

Neste projeto há várias formas de execução da aplicação permitindo executar as partes (frontend/backend) em conjunto ou isoladamente.

Funcionalidades

Este teste tem as seguintes funcionalidades:

  • Foi desenvolvida uma API totalmente isolada do frontend;
  • Para permitir a execução inicial alguns dados (revendedor master, bonificações, administrador) são inseridos por padrão;
  • Esta aplicação utiliza a autenticação com JWT, sendo o token salvo em cookie e a sessão salva em banco de dados (MongoDB);
  • A aplicação foi pensada de forma responsiva e com um visual simples mais funcional;
  • As rotas da aplicação frontend (ReactJS) são controladas de forma independente das rotas de backend (API);
  • A aplicação frontend foir desenvolvida em componentes;
  • A aplicação frontend utiliza o empacotamento por Lazy (Code-Splitting);

Obs.: Algumas configurações podem ser alteradas no arquivo 'api/libs/configs'.

Testes

Toda a camada da API possui testes e este podem ser executados com o comando abaixo:

  • cd api && npm run tests

Obs.: Os testes inserem dados em todas as tabelas porém estes dados são removidos ao final de cada teste, sendo isso parte do teste da API.

Telas

Tela de Login

Tela de Login

Tela Principal

Tela Principal

Tela de Cahsback

Tela  de Cahsback

Tela de Compras

Tela  de Compras