test1logo_stickytest1test1
  • Sobre mi
  • Portfolio
  • Blog
  • Contacto
✕

test1

  • Home
  • tutorial
  • test1

El día de hoy les traigo un tutorial de como consumir un APi REst de un weather channel y transformarlo un modelo de app utilizando HTML, CSS y Javascript.

Por acá les dejo el diseño Figma: https://www.figma.com/community/file/971621075801349992

 


Paso 1

Debemos buscar la información dinámica de la cual vamos a extraer la información, en este caso un api rest gratis:  https://openweathermap.org/

Hacemos el registro de usuario, entramos en el tab API Key y generamos un API.

Nos vamos a documentación y veremos el ejemplo de un API Call, por ejemplo Madrid, para eso debemos conocer la Latitud y Longitud.

https://api.openweathermap.org/data/2.5/weather?q=Madrid&appid={API key}

Deberíamos tener un resultado JSON como este:


Paso 2

Una vez tengamos el API Call de la región seleccionada. Abrimos visual Studio o cualquier otro IDE y creamos un div contenedor class=”app”.

De igual forma en el archivo css, copiamos las siguientes líneas de estilo

.app p,
.app h5 {
    margin: 0.5rem;
}

.app {
    width: 414px;
    height: 800px;
    display: block;
    margin: auto;
    text-align: center;
    padding: 40px 0;
    overflow: hidden;
    border-radius: 50px;
    background-image: linear-gradient(#30A2C5, #00242F);
    font-family: 'Montserrat', sans-serif;
    font-size: 16px;
}

.bar {
    display: flex;
    justify-content: space-between;
    padding: 0 40px;
}

.bar a {
    color: #fff;
    font-size: 20px;
}

.titlebar {
    line-height: 0.5rem;
    color: #fff;
}

.titlebar h4 {
    font-size: 40px;
    font-weight: bold;
    text-transform: uppercase;
    margin: 2rem;
}

.titlebar .description {
    text-transform: uppercase;
}

.temperature {
    background: rgb(206, 206, 206);
    border-radius: 500px;
    width: 200px;
    height: 200px;
    text-align: center;
    display: block;
    margin: auto;
    box-shadow: 0 30px 20px #1d1d1d36;
    margin: auto;
    margin-top: 30px;
    margin-bottom: 30px;
}

.temperature img {
    margin-bottom: -20px;
}

.temperature p {
    font-size: 14px;
}

.temperature h2 {
    margin: 0;
    font-size: 60px;
    font-weight: 300;
}

.extra {
    display: flex;
    justify-content: space-around;
    color: #fff;
    padding-bottom: 30px;
}

.extra .col .info {
    padding-bottom: 10px;
}

.dataweather {
    background: #fff;
    padding: 20px;
    border-radius: 50px;
    margin-top: 20px;
    display: block;
    height: 400px;
    font-size: 14px;
    position: relative;
}

.dataweather .table {
    display: flex;
    justify-content: space-around;
}

.dataweather .table .box {
    font-size: 14px;
    border: #D4D4D4 solid 1px;
    border-radius: 20px;
    padding: 5px;
    margin: 5px;
}

.dataweather .table div i {
    font-size: 150%;
    color: #585858;
}

.dataweather .firm {
    padding-top: 20px;
    font-size: 12px;
}

Tendremos entonces el contenedor de nuestro app


Paso 3

Verificamos en la cónsola que esta recibiendo la data a través del API, agregando &units=metric para que lea información en grados centígrados.

fetch('https://api.openweathermap.org/data/2.5/weather?q=Madrid&appid={API key}&units=metric')
    .then(response => response.json())
    .then(data => {
        console.log(data);
    });

Podemos observar como se extrae la data necesaria para llenar nuestro contenedor div. Si queremos obtener algún elemento del JSON, podemos hacerlos utilizando la palabra data y luego el nombre del elemento, por ejemplo name.

data.name

Si queremos obtener la data de un elemento anidado en un array, ejemplo temp, sería

console.log(data.main.temp)
© 2025 Betheme by Muffin group | All Rights Reserved | Powered by WordPress