Skip to content
This repository has been archived by the owner on May 16, 2021. It is now read-only.

Latest commit

 

History

History

projreact

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

StoreGO Aplicação Web

Aplicação React baseada em Devias Kit Template

Como executar

node.js é necessário para correr uma aplicação React. O guia de instalação pode ser encontrado aqui.

Ao instalar o node.js, o npm também deve estar instalado no computador. Se preferir utilizar yarn, é necessário instalar.

Instalar dependências

  1. Clonar o repositório

  2. cd projreact

  3. Instalar as dependências utilizando npm install ou yarn install

Como executar a aplicação web

Dento do diretório do projeto, correr o seguinte:

  1. npm start ou yarn start

  2. A aplicação deve estar a correr em http://localhost:3000

Docker

Foi preparado um ficheiro Dockerfile, de acordo com as referências, com a informação necessária para o deploy desta aplicação React através do ficheiro Docker Compose na raiz do repositório.

Referências

Use Docker With React

React Request Examples

Utilização da API do Spring

Quando o utilizador é autenticado, o seu token de autenticação é armazenado em armazenamento local com a chave token. O seu tipo (MANAGER ou EMPLOYEE) também é armazenado lá, com a authority chave.

Para usar a API Spring, cada solicitação deve enviar o token de autenticação no cabeçalho.

const requestOptions = {
    method: 'POST',
    headers: { 
        'Content-Type': 'application/json',
        'Authorization': 'Bearer ' + localStorage.getItem('token')
    },
    body: JSON.stringify({ myjson: 'here' })
};
const response = await fetch('http://127.0.0.1:8080/api/...', requestOptions);
const data = await response.json();

Este pedido tem de ser feito quando o componente é gerado. Para isto, é utilizado o método useEffect.

import React, { useState, useEffect } from "react";

useEffect(async() => {
    apiCall();
}, []);

Para converter de timestamps para strings legíveis, foi usada a package moment.

import moment from "moment";
moment(customer.last_visit).format('DD/MM/YYYY, HH:mm:ss')
// Example output: 01/12/2021, 19:35:21