medeirosjoaquim / ng-hotel

Desafio Frontend - Sênior

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

#Nova atualização iniciada em 18/11/2019;

Hotel Senior

Build Status Repo Size

O que éInstalaçãoRodarBranch de ProduçãoVersão OnlineFalta fazerContato

O que é

  • Aplicativo que simula um sistema de checkin para hotéis. Feito como desafio para vaga de Frontend na Sênior Sistemas em Outubro de 2019.

Instalação

  • Você deve ter, pelo menos, a versão 10.9 do Nodejs
  • Para evitar conflitos, é aconselhável instalar a ferramenta ng-cli.

npm install -g @angular/cli

  • Clonar o repositório. Entrar na pasta e instalar o pacotes com

npm i

Rodar

Inicie o aplicativo com um dos comandos abaixo: npm start ou ng start

Após a compilação, o App estará disponível para acesso pelo navegador em localhost:4200

Produção

A branch prod tem as alterações necessárias para o deploy em produção.

  • Visando performance o build é feito com a opção --aot (ahead of time). Nesse modo de compilação o código necessário para renderização é gerado majoritariamente no build e, assim, consome menos recursos do cliente e permite um carregamento mais veloz.
  • Compressão: na versão de produção, a aplicação é servida com expressJS, que é ideal para protótipos e pequenas aplicações. Foi adicionada uma camada de compressão que reduz o tamanho dos dados enviados pelo servidor.

Versão online

Fiz o deploy de uma versão do app na Heroku. Está disponível aqui https://hotel-senior.herokuapp.com. Por ser um serviço gratuito o servidor, quando sem uso por mais de uma hora, entra em modo de hibernação. Nesse caso, havendo algum erro, basta recarregar a página e aguardar alguns segundos.

To do

Por conta do tempo, optei por implementar o mínimo viável da aplicação, sem perder de vista as tarefas pendentes.

  • Definir escopo do front
    • Há tarefas que, por performance e segurança, deveriam ser realizadas no backend, como cálculo das diárias
  • Escrever validações para todos os inputs
  • Revisar acessibilidade
  • Testar em diferentes sistemas e navegadores
  • Escrever testes
  • Refatorar SCSS
  • Refatorar as funções que fazem filtro
  • Implementar cálculo do total de diária
    • Dentro do tempo disponível implementei apenas um cálculo básico que não considera se o cliente usou a vaga de garagem nem faz diferença entre tarifa de dias de semana e de fim de semana

Contato

Mande um e-mail! johnboxcodes@gmail.com! Ou diga oi no Linkedin: linkedin.com/in/joaquim-medeiros/

About

Desafio Frontend - Sênior


Languages

Language:TypeScript 49.9%Language:HTML 31.3%Language:CSS 12.8%Language:JavaScript 6.1%