CallForCode weather API in Node-RED

I notice there are some changes in the usage of the weather API. For that reason I created a very simple sample with Node-RED to access the weather forecast. The Node-RED flow implements the access to the weather API you can use during your CallForCode challenge.

Here is what you need to do, to get access to the weather API:

  1. Register on Welcome to The Weather Company API Platform Site Powering the best Weather Apps & Sites
  2. You will get a mail with the apikey
  3. Then you can use the documentation to access the APIweather-api-doc-2019

Please ensure you have following simple settings for your REST API request in place:

  1. The HTTP header must contain Accept-Encoding: gzip
    The reason for that is, that all responses of the weather API requests are compressed. The Supported encoding format is: gzip
  2. Use the parameter apiKey

The following picture shows a simple postman this request:

postman-weather

Inside the flow you have to replace the text YOUR_WEATHER_APIKEY  with the apiKey you got in your mail. Beware you have to install node-red-contrib-gzip in your Node-RED to use the sample. You can get the Node-RED flow from GitHub.

In the following gif you can see the usage of the flow:

node-red-weather

For a more detailed understanding, how the weather service can be used in real world UseCases, please visit that awesome blog post from Va Barbosa All for code the weather company and you .

I hope this was useful for you and let’s see what’s next?

Greetings,

Thomas

PS: By the way, you can use the IBM Cloud for free, if you simply create an IBM Lite account. Here you only need an e-mail address.

#IBMDeveloper, #CallForCode, #Node-RED, #WeatherAPI

 

 

Hot topics on hot days @DevOpsCon in Berlin

Hot topics on hot days @DevOpsCon in Berlin

These two days were really hot and that’s why I created that motto 😉

Here are a few pictures and a brief impression of the DevOpsCon conference in Berlin. The DevOpsCon Expo in Berlin on 11 – 14 June 2019 had approximately 800 participants and provided a full program on different technologies and methods for them.

It’s important to keep a cool head on the mission-critical topic of DevOps and make the right decisions how to deploy and deliver the optimal to achieve speed of innovation. It was awesome to see that DevOps teaming works for companies, because often we had developers and operations of one company at same time at our booth.

Continue reading

„Let’s get started with cloud native Java applications on Kubernetes“ Our hands-on workshop is ready to rumble!

Our hands-on workshop: „Let’s get started with cloud native Java applications on Kubernetes“ , is ready to rumble!

cns-workshop

After all the effort Niklas and Harald did to deliver that awesome and valuable content of the “Cloud Native Starter” open sourced GitHub project, I contribute to that (ongoing) project with this hands-on workshop based on all the given great materials of blog posts, manuals and documentation which is available in the internet.

The outcome is an easy to consume hands-on workshop. The workshop  provides a wide but concentrated introduction to Java development with MicroProfile, Kubernetes, Containers, REST APIs, Traffic management, and Resiliency that is relevant for developers who want more hands-on practical cloud native development introduction of the usage of these technologies.

I would say, this workshop is a must have for beginners who start with cloud native Java applications on Kubernetes. We all put a lot of effort in this project to make that easy to consume.

Continue reading

Watson Studio project restriction for collaborators

When we create a Watson Studio project, we should pay attention on the collaborator restriction! We cannot change it later.

This is just a blog post about a common pitfall for new Watson Studio users , when they are creating a new Watson Studio project.

The step five in the documentation of the project creation tells us about restrict who can be a collaborator for our project. This configuration has a huge impact for our user access management later, by just checking this small box.

watson-studio-restiction

Step five says:  Select the Restrict who can be a collaborator check box to restrict collaborators to members of your organization or integrate with a catalog. The check box is selected by default if you are a member of a catalog. You can’t change this setting after you create the project.

This is not the end of the world, we can easily create new projects, and configure them. Even I would say, this is a good opportunity to get familiar with the user management of IBM Cloud anyway.

Continue reading

State management, modal dialog and simple spinner in VUE

This blog post is about how to use state managementspinner with conditions, and modal dialogs when saving data in VUE. How these works, we will explore along an implementation in the #BlueCloudMirror project. Maybe this can save you some time, if you plan to do the same.

Let’s start with my motivation, we want to improve our #BlueCloudMirror game UI. If you saved your scores data in the previous version, you were routed back to start game page. You received no information, if storing your data was successful in the highscores list.

In the new UI you can see the saving progress and you get confirmation when your data is saved, as you can see in the gif below.

blue-cloud-mirror-save

To understand how this works in VUE, we need to touch the following topics:

We will use the Results.vue and State.ts source code files from the #BlueCloudMirror github project, to see how it works in the #BlueCloudMirror  game.

Continue reading

How to create an interactive YouTube Video selection in VUE

In this blog post I want to share my observations during my implementation of an interactive YouTube Video selection in VUE. Maybe this can save you some time, if you plan to do the same.

Let’s start with my motivation, it came from the improvements of the #BlueCloudMirror game UI. We decided to provide the #BlueCloudMirror users a recorded YouTube LiveStream of us. This video provides an awesome overview of our  major technologies.

The video takes approximately 50 minutes. This is a long time to watch, so we want to provide the user a new interactive architecture page, as you can see below. A user should have the ability to select the topic he is interested in. To do this, we needed the position selection for the YouTube video. In the gif you can see the result.

vue-youtube-selection

Topics of this blog post:

  • How to define dynamic values in a VUE template
  • How to configure autostart for YouTube videos
  • How to avoid SAMEORI problem with the YouTube video

Continue reading

Cors and Node-RED using a simple forwarding server

When you use Node-RED on IBM Cloud during hackathons you will notice REST calls in flows cannot be directly invoked from a web application. The reason for this is mostly that cors (cross-origin resource sharing) is not enabled for the Node-RED server. This blog post is a simple workaround for this problem.

By the way, you can use the IBM Cloud for free, if you simply create an IBM Lite account. Here you only need an e-mail address.

I developed this workaround to have full control and be very flexible during a hackathon, when using Node-RED for prototyping and building integrations to services and web-applications, without changing Node-RED settings or using cors browser enabler.

Continue reading

How to deploy a container to the IBM Cloud Kubernetes service

I want to describe another way to run the  Highscores-Service of the #BlueCloudMirror game . In the game I use  IBM Cloud Foundry apps, now I want to explore IBM Cloud Kubernetes.

Note: The #BlueCloudMirror game we  @Niklas, @Harald and I made, is available as an Pattern on IBM Developer.

The first step was creating a container for the Highscores-Service,  which I described in my blog post how to build a container.

In this post I deploy my scores-service container to the IBM Cloud Kubernetes service.  This is  not a blueprint for IBM Kubernetes deployments, if you looking for a blueprint,  just take a look hereIBM Cloud documentation contains a great guide for getting started:  How to setup and use IBM Cloud Kubernetes

I share my experiences and observations with you, along with my deployment.

Let’s start with an overview of the topics I touch in this blog post:

Simplified Architecture 

kube-basic-architecture

The above picture shows a simplified architecture for the scores-service inside Kubernetes. You can see the relevant elements for the deployment. If you are interested in the details of  these elements, just click on the linked Kubernetes documentation.

The major elements:

Continue reading

#BlueCloudMirror Game – highscores

I am a part of the team along with @Niklas and @Harald , who created and developed the fun Blue Cloud Mirror Game. 

game

This is my first blog  about this topic, and I will follow with future posts to detail the different parts of highscores (scores) and the technologies and components involved.

You can also take a look at other existing information:

The motivation for the highscores (scores)

If you play a game, you usually want to compare yourself with others. To do this, you simply have to save scoring information somewhere and provide access for the players who want to see the highscores, even if they do not play the game.

The high-level architecture overview on scores

The objective was to implement this on the cloud with state-of-the-art runtimes, services, security topics, to cover microservices, and to have an easy scalable cloud architecture.
I developed the scores part and the functions-api for users.

scores-architecture

The Game, Scores Service UI and the Highscores webapp are hosted on different runtimes and for the execution they will be loaded into a browser.

Continue reading

Cloud Foundry on top of Kubernetes @IBM Cloud – a small test

This blog is related to the topics Cloud Foundry Enterprise Environment , serverless , code patterns and the IBM Coder Program.

I just want to move an existing Cloud Foundry app on IBM Cloud to the new IBM Cloud Foundry Enterprise Environment,which instantiates Cloud Foundry on top of Kubernetes. You can find more details about this IBM Cloud offering in this blog post “An on-demand, single-tenant Platform-as-a-Service on IBM Cloudfrom IBM.

Motivation

Maybe you noticed the section Combined Power in my blog post Operations and Developers side by side @“Continuous Lifecycle” and “Container Conf” related to Simon Moser’s session CF3 – Combining the Power of Cloud Foundry and Kubernetes” ? In this blog post you can read more about the motivation to combine the power.  Also you can find out which open source projects ( eirini for example) are relevant.

Based on  Simon Moser´s speech, I was motivated to check out the Cloud Foundry Enterprise Environment on IBM Cloud.

I started my test of moving an existing Could Foundry App. I have chosen to move the app instance from one of my modified code patterns . My selection was the Predictive Industrial Visual Analysis. This code pattern has a big focus on serverless, but I will write more about the serverless part in the near future.

Let’s get started: How do I move an existing Cloud Foundry app?

Continue reading