O objetivo desse projeto é criar um dashboard da Max Milhas que filtra vôos e mostra o resultado em uma lista com informações necessárias.
Para instalar a aplicação, basta descompactar o arquivo zipado recebido ou clonar do Github:
git clone https://github.com/AlexRobertoCorrea/max-milhas-dashboard.git
Entrar na pasta max-milhas-dashboard criada:
cd max-milhas-dashboard
É necessário ter as versões atuais do NodeJS e Bower instalados e fazer em seguida:
npm install && bower install
e todos os pacotes necessários serão instalados.
Para tanto, usamos o AngularJS como framework frontend por melhor familiaridade, porém, usando a abordagem por componentes, que é semelhante ao que os frameworks atuais usam.
Usamos no NodeJS versão 8.9.3, que é a mais atual estável como middleware e ExpressJS como framework backend, pela simplicidade e melhor desempenho dessa versão.
O Gulp foi usado como task runner, pela facilidade de uso dele. A principal task dele é a de testes, para executá-la, fazemos:
npm test
que executa o linter e os testes automatizados. Como linter usamos o Eslint com auxílio do Prettier e usamos a versão 6 do EcmaScript.
Para executar a aplicação no modo desenvolvimento, fazemos:
npm run dev
Para executar a aplicação no modo produção, fazemos:
npm run build
npm start
ou via Docker:
docker build -t max-milhas-dashboard/max-milhas-dashboard .
docker run -p 7070:7070 -d max-milhas-dashboard/max-milhas-dashboard
Independente do modo escolhido, no browser executamos:
localhost:7070
Destacamos que usamos o Angular Material que é a adaptação do Material Design para AngularJS por ser um material bastante usado por usuários.
Usamos o EcmaScript 6 pela facilidade de escrever Javascript com ele pelas evoluções apresentadas.
Os testes funcionais e unitários foram feitos usando Jasmine por ser um framework bem usado pela comunidade.
Utilizamos o SASS como pré-processador CSS e o RSCSS como padrão arquitetural de desenvolvimento.