roger-melo-treinamentos / curso-de-js-roger-melo

Repositório de informações do CJRM
492 stars 172 forks source link

Aplicação: [Weather Application] #455

Closed gcarniel closed 3 years ago

gcarniel commented 3 years ago

Olá, @Roger-Melo.

Vi as aulas da aplicação já faz alguns dias, porém peguei covid e não estava em condições de estudar, ontem revi as aulas e hoje estou mandando a minha versão da aplicação.

https://github.com/gcarniel/weather

No arquivo weather.js eu copiei o código abaixo da sua versão, o restante foi tentativa e erro:

const baseUrl = 'http://dataservice.accuweather.com/'

const getCityURL= cityName => `${baseUrl}locations/v1/cities/search?apikey=${APIKey}&q=${cityName}`

const getWeatherUrl= cityKey => `${baseUrl}currentconditions/v1/${cityKey}?apikey=${APIKey}&language=pt-br`

Maiores Dificuldades

Quando estava escrevendo ficou complicado para fazer da forma que você havia feito, então fiz dessa forma. Após fazer eu consigo refatorar e deixar como você fez, mas optei em deixar assim porque foi a forma que entendi melhor.

const getCityName = cityName => {
    const cityUrl = getCityURL(cityName)
    return fetchData(cityUrl)
}

const getCityWeather = key => {
    const weatherUrl = getWeatherUrl(key)
    return fetchData(weatherUrl)
}

Menores Dificuldades

@Roger-Melo

Roger-Melo commented 3 years ago

Olá @gcarniel.

Espero que tenha se recuperado e que esteja bem.

Visualizei a issue e se estiver tudo ok com a aplicação, em breve a análise será postada aqui.

Abraço.

gcarniel commented 3 years ago

Olá, @Roger-Melo, estou bem sim, obrigado por perguntar.

Fico no aguardo, obrigado.

Abraço.

Roger-Melo commented 3 years ago

Olá, @gcarniel.

Parabéns por construir mais essa aplicação. Tenho apenas duas observações sobre organização do código, isso é uma prova de sua evolução em relação às análises anteriores =)


Prefira declarar addImage antes de sua invocação. Assim, quem lê o código não precisa alterar o fluxo da leitura (de cima para baixo).

Eu adicionaria uma linha em branco nas linhas 29 e 36, para ser mais preciso na separação dos conceitos.


"No arquivo weather.js eu copiei o código abaixo da sua versão, o restante foi tentativa e erro."

Excelente. Erros são ótimos professores. Continue seguindo o método =)

As observações acima fizeram sentido?

@gcarniel

gcarniel commented 3 years ago

Olá, @Roger-Melo.

Faz sentido sim, foi falta de atenção minha, mas já está corrigido, muito obrigado.

gcarniel commented 3 years ago

@Roger-Melo, aproveitando a issue, como eu faço para publicar a aplicação no netlify? Pergunto porque eu salvei a key da api em um arquivo separado e esse arquivo adicionei ao .gitignore para não subir para o git, mas agora resolvi publicar a aplicação e lembrei disso, então minha aplicação está sem a chave e não vai funcionar.

Tem como resolver isso?

Roger-Melo commented 3 years ago

Então, eu ainda não falei sobre isso no treinamento exatamente para o aluno comitar as chaves no GitHub sem medo. Pelo-menos enquanto não falo sobre segurança e sobre outras ferramentas necessárias para fazer um deploy mais complexo.

Antes de qualquer coisa, esteja ciente que API keys sempre ficam "expostas" para qualquer um ver, pois são usadas no front-end, e tudo o que está no front-end é público.

Então uma opção (que é a primeira que mostrei até aqui) é não se preocupar com isso nesse primeiro momento, deixar as chaves expostas no GitHub e subir para a produção conforme essa playlist que indiquei quando a primeira aplicação do treinamento foi construída.

As outras opções envolvem conhecimento em variáveis de ambiente, node, npm, etc. Que são coisas que serão mostradas em etapas mais avançadas do treinamento. Se você realmente optar em não comitar as chaves no gitHub, dê uma olhada nos tutoriais abaixo:

@gcarniel

gcarniel commented 3 years ago

Entendi, Roger. Me adiantei no medo de publicar as chaves kkk. Vou tentar seguir o tutorial, se não conseguir eu publico a chave.

Você mencionou que coisas mais avançadas serão mostradas mais a frente no treinamento, atualmente para mim tem 15 etapas, será publicadas mais?

Muito obrigado pelo retorno e parabéns pelo conteúdo e didática, Roger.

Roger-Melo commented 3 years ago

Você mencionou que coisas mais avançadas serão mostradas mais a frente no treinamento, atualmente para mim tem 15 etapas, será publicadas mais?

Sim! O conteúdo planejado do treinamento tem 21 etapas. Faltam 6 =)

@gcarniel

Roger-Melo commented 3 years ago

@gcarniel vou fechar a issue mas no que precisar, é só abrir uma nova =)