# Hexagonal Architecture / Ports and Adapter Kata

This is a kata on ports and adapters architecture. The task is to retrieve a list of weather observations on Iceland from the following API:

http://apis.is/weather/observations/en?stations=

and output the result into a CSV file of the following format:

id,name,date,time,temperature,pressure,wind_direction (optional)

The API documentation can be found here: http://docs.apis.is/#endpoint-weather

The goal is not to get this done as quickly as possible, but to follow the rules of
(http://alistair.cockburn.us/Hexagonal+architecture)[ports and adapters architecture]:
  * The application itself does not depend directly on any external systems, but only on ports
  * The protocol for a port is given by the purpose of the conversation it describes
  * For each external system there is an ‘’adapter’’ that converts the API definition to the format needed by that system and vice versa

Now have some fun!




# Hexagonal Architecture / Ports and Adapter Kata

This is a kata on ports and adapters architecture. The task is to retrieve a list of weather observations on Iceland from the following API:

http://apis.is/weather/observations/en?stations=

and output the result into a CSV file of the following format:

id,name,date,time,temperature,pressure,wind_direction (optional)

The API documentation can be found here: http://docs.apis.is/#endpoint-weather

The goal is not to get this done as quickly as possible, but to follow the rules of
[ports and adapters architecture](http://alistair.cockburn.us/Hexagonal+architecture):
  * The application itself does not depend directly on any external systems, but only on ports
  * The protocol for a port is given by the purpose of the conversation it describes
  * For each external system there is an ‘’adapter’’ that converts the API definition to the format needed by that system and vice versa

Now have some fun!




Fix link to Alistair's article.
Fix link to Alistair's article.

The description and the link have been in the wrong order. This causes the Markdown renderer to render it wrong.