Calculador de Horas

Projeto criado com a intenção de facilitar o cálculo entre horas, possibilitando cálculos entre datas diferentes, obtendo informações resumidas para aplicação e gestão.

Cliente Web - Diferença entre Horas

Com o objetivo de ser uma ferramenta simples e de fácil aprendizagem, o cliente web possibilita para o usuário as seguintes facilidades:

• Resultados com informações objetivas para fácil utilização;
• Possibilidade de cálculo entre dois horários distintos, sendo possível selecionar datas diferentes, simulando o cálculo entre dias diferentes.


Foi utilizado para desenvolvimento do cliente web as seguintes tecnologias:

• HTML;
• CSS;
• Javascript;
• JQuery;
• Moment;


Abaixo exemplo de utilização do cliente:

examplo gif

API

Desenvolvida em Node, a API utiliza alguns frameworks para seu funcionamento:

• Express;
• Moment;
• MongoDB (para futuras atualizações);
• Mongoose (para futuras atualizações);
• Nunjucks (para futuras atualizações);

Consumindo a API

Informações para a chamada da API:

Servidor: "http://localhost:8080"
End-Point: "/api/calc/"
Método: POST

Payload Exemplo:
{
  startHour: "YYYY-MM-DD HH:mm:ss",
  finalHour: "YYYY-MM-DD HH:mm:ss"
}

Retorno:
{
    input:
    {
      startHour: "DD/MM/YYYY - HH:mm:ss",
      finalHour: "DD/MM/YYYY - HH:mm:ss"
    },

    result:
    {
      diffHours: resultHours,
      diffMinutes: resultMinutes
    },

    rawResult:
    {
      diffInHours: resultCalcInHours,
      diffInMinutes: resultCalcInMinutes,
      diffInSeconds: resultCalcInSeconds,
      diffInMillisec: resultCalcInMs
    }
}

Experimente

Instalações prévias necessárias:

• Node.js (compilador JS):
# Node Website

• MongoDB Community (Banco de dados - Futuras Features):
# MongoDB Website


Clone o projeto localmente:
git clone https://github.com/gabrielgfw/api-hour-calculator

Instalando dependências:
npm install

Inicializando a API:
npm start

Acessando Web Client (em desenvolvimento):
# Local Host

Futuras implementações

• Avaliar estabilidade da aplicação web;
• Disponibilizar a API de forma pública;
• Disponibilizar Cliente Web de forma pública;
• Sistema de Contas;
• Cada conta possuir seu histórico de resultados;
• Possibilitar a criação de grupo de resultados;