GorpaGuideNode
Projeto de um Guia Gastronomico da minha cidade, com impostometro e um marcador de temperatura usando a API publica do OpenWeather O projeto tinha como objetivo a pratica dentro do curso meu curso na UTFPR, utilizando Node.js | Ajax | Express e DB.json
Como rodar:
Aplicação: node server.js
Db : npx json-server --watch db.json
Pagina Principal (cards)
Parte I
Formulário
- Validação de formulário com onsubmit usando os métodos tradicionais - é a fase executada após a validação via HTML5
- Validação de formulário com HTML5 API
- Customizar as mensagens nos balões de mensagem
- Usar os atributos de validação dos inputs - required ou type="email" ou outros
- Usar expressões regulares para validação - usar no atributo pattern do respectivo input
- Ler e escrever em elementos input com a propriedade value
- Alterar o conteúdo de elementos div ou p com a propriedade innerHTML ou textContent
- Manipulação de elemento de listagem, como checkbox, radio ou select
- Acesso aos elementos de um formulário via hierarquia (caminho) de objetos, ou seja, array forms e elements
Parte II
Qualidade do código
- Usar um Style Guide - apresentar o uso de pelo menos 10 regras do style escolhido (sugerido AirBnb)
- Usar um Lint - corrigir todos os problemas informados pelo lint (sugerido JSHint - usar o arquivo .jshintrc disponível no moodle)
- Usar strict mode - em todos os arquivos
- Usar Module Pattern com função auto-executável ou o conceito de módulo do ES6 com operadores export e import
- Usar pasta assets e subpastas resources e libraries para organizar o código
- Usar let ou const ao invés de var
- Nomes de arquivos HTML, JS e CSS minúsculos e separados por hífen (dashed-case)
Parte III
Jquery
- Uso de seletores CSS - id, classe e tag
- Uso de seletores CSS hierárquicos estáticos - ancestral/descendente, pai/filho, anterior/próximo
- Uso de seletores hierárquicos dinâmicos, ou seja, via métodos do JQuery - parent/children/next
- Efeitos fade ou slide
- Especificar o tratador de algum evento para um elemento DOM via jQuery - deve ser um evento diferente do ready
- Manipulação do CSS via função css() e addClass() ou removeClass()
- Manipulação do conteúdo de um input e div usando jQuery
- Aplicar um plugin do jQuery (por exemplo, jQuery Mask Plugin)
Web Storage - LocalStorage ou SessionStorage
- Leitura e escrita de dados simples - dados primivos como string, number, boolean
- Leitura e escrita de JSON - dado transformado a partir de um objeto
- Criar e guardar um dado em um Cookie
Requisições assíncronas
- Requisições AJAX para uma implementação funcional do backend em ExpressJS na plataforma Node
- (Obrigatório) Requisições AJAX para uma API Fake - JSON Server
- Requisições AJAX para uma API Rest pública qualquer (Busca CEP API ou IBGE API ou outra).