/tutorials.Step-by-Step

:books: Complete collection of tutorials for the FIWARE ecosystem

Primary LanguageJavaScriptMIT LicenseMIT

FIWARE Step-by-Step Tutorials

Documentation License: MIT Support badge Docker
Documentation Build Status

This is a collection of tutorials for the FIWARE platform. Each tutorial consists of a series of exercises to demonstrate the correct use of individual FIWARE components and shows the flow of context data within a simple Smart Solution either by connecting to a series of dummy IoT devices or manipulating the context directly or programmatically.

📚 Documentation 🐳 Docker Hub NGSI-LD Data Models Postman Collections

Install

To download the full set of tutorials, simply clone this repository:

git clone https://github.com/FIWARE/tutorials.Step-by-Step.git
cd tutorials.Step-by-Step/
git submodule update --init --recursive

Docker and Docker Compose

Each tutorial runs all components using Docker. Docker is a container technology which allows to different components isolated into their respective environments.

  • To install Docker on Windows follow the instructions here
  • To install Docker on Mac follow the instructions here
  • To install Docker on Linux follow the instructions here

Docker Compose is a tool for defining and running multi-container Docker applications. A series of *.yaml files are used configure the required services for the application. This means all container services can be brought up in a single command. Docker Compose is installed by default as part of Docker for Windows and Docker for Mac, however Linux users will need to follow the instructions found here

You can check your current Docker and Docker Compose versions using the following commands:

docker-compose -v
docker version

Please ensure that you are using Docker version 18.03 or higher and Docker Compose 1.21 or higher and upgrade if necessary.

Postman

The tutorials which use HTTP requests supply a collection for use with the Postman utility. Postman is a testing framework for REST APIs. The tool can be downloaded from www.getpostman.com. All the FIWARE Postman collections can downloaded directly from the Postman API network

Cygwin for Windows

We will start up our services using a simple Bash script. Windows users should download cygwin to provide a command-line functionality similar to a Linux distribution on Windows.

Tutorials List

  101. Getting Started
  102. Entity Relationships
  103. CRUD Operations
  104. Context Providers
  105. Altering the Context Programmatically
  106. Subscribing to Changes in Context

  201. Introduction to IoT Sensors
  202. Provisioning an IoT Agent
  203. IoT over MQTT
  204. Using an alternative IoT Agent
  205. Creating a Custom IoT Agent
  250. Introduction to Fast-RTPS and Micro-RTPS

  301. Persisting Context Data using Apache Flume (MongoDB, MySQL, PostgreSQL)
  302. Persisting Context Data using Apache NIFI (MongoDB, MySQL, PostgreSQL)
  303. Querying Time Series Data (MongoDB)
  304. Querying Time Series Data (CrateDB)
 

  401. Managing Users and Organizations
  402. Roles and Permissions
  403. Securing Application Access
  404. Securing Microservices with a PEP Proxy
  405. XACML Rules-based Permissions
  406. Administrating XACML via a PAP

  501. Creating Application Mashups
  503. Introduction to Media Streams
  505. Big Data Analysis (Flink)

  601. Introduction to Linked Data
  602. Linked Data Relationships and Data Models
  603. Traversing Linked Data Programmatically

Usage

Most tutorials supply a services script to start the containers:

cd <tutorial-name>
./services start

Following the tutorial exercises via Postman

Each tutorial submodule contains one or more docker-compose.yml files, along with a Postman collection containing the necessary HTTP requests: import the collection into Postman and follow the instructions.

Following the tutorial exercises from the command-line

Each submodule contains full instructions in README which details the appropriate bash commands (cUrl and Docker Compose) to run.

Full instructions can be found within the documentation


License

MIT © 2018-2020 FIWARE Foundation e.V.