https://github.com/fiware/tutorials.step-by-step
Tutorials for the complete ๐ญ๐ฐ๐พ๐จ๐น๐ฌ ecosystem for developers wishing to learn how to use NGSI-v2 and NGSI-LD and design context-based Smart Systems ๐๐๐๐๐๐๐
-๐๐-๐ญ๐ฐ๐พ๐จ๐น๐ฌ.
https://github.com/fiware/tutorials.step-by-step
contextual-data fiware ngsi ngsi-ld ngsi-v2 tutorial
Last synced: 3 months ago
JSON representation
Tutorials for the complete ๐ญ๐ฐ๐พ๐จ๐น๐ฌ ecosystem for developers wishing to learn how to use NGSI-v2 and NGSI-LD and design context-based Smart Systems ๐๐๐๐๐๐๐ -๐๐-๐ญ๐ฐ๐พ๐จ๐น๐ฌ.
- Host: GitHub
- URL: https://github.com/fiware/tutorials.step-by-step
- Owner: FIWARE
- License: mit
- Created: 2018-07-09T07:51:17.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2025-03-03T08:17:27.000Z (3 months ago)
- Last Synced: 2025-03-03T09:26:01.867Z (3 months ago)
- Topics: contextual-data, fiware, ngsi, ngsi-ld, ngsi-v2, tutorial
- Homepage: https://fiware.github.io/tutorials.Step-by-Step/
- Size: 2.45 MB
- Stars: 73
- Watchers: 16
- Forks: 69
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# Step-by-Step Tutorials[
](https://www.fiware.org/)
[](https://opensource.org/licenses/MIT)
[](https://stackoverflow.com/questions/tagged/fiware)This is an umbrella repository which holds collections of **NGSI-v2** and **NGSI-LD** tutorials for developers wishing to
learn about the [FIWARE](https://www.fiware.org/) ecosystem and allow users and developers to easily navigate to the relevant
source code, documentation and Docker images.---
> [!NOTE]
> ### Should I be using NGSI-v2 or NGSI-LD?
>
> FIWARE offers two flavours of the NGSI interfaces:
>
> - **NGSI-v2** offers JSON based interoperability used in individual Smart Systems
> - **NGSI-LD** offers JSON-LD based interoperability used for Federations and Data Spaces
>
> NGSI-v2 is ideal for creating individual applications offering interoperable interfaces for web services or IoT devices. It is easier to understand than NGSI-LD and does not require a [JSON-LD
`@context`](https://www.w3.org/TR/json-ld11/#the-context).
>
> However, NGSI-LD and Linked Data is necessary when creating a data space or introducing a system of systems aproach, and in situations requiring
> interoperability across apps and organisations.---
## [
]("https://fiware-ges.github.io/orion/api/v2/stable/) Smart Supermarket
This is a collection of tutorials for the FIWARE ecosystem designed for **NGSI-v2** developers. Each tutorial, based around a
Smart Supermarket consists of a series of exercises to demonstrate the correct use of individual FIWARE components using **NGSI-v2**
interfaces 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.| :movie_camera: [Introduction
to NGSI-v2](https://www.youtube.com/watch?v=pK4GgYjlmdY)| :books: [NGSI-v2 Tutorial
Documentation](https://fiware-tutorials.rtfd.io) |
| -------------------------------------------------------------------- | --- |๐ฏ๐ต ใใฎใใฅใผใใชใขใซใฏ[ๆฅๆฌ่ช](https://fiware-tutorials.letsfiware.jp/)ใงใใ่ฆงใใใ ใใพใใ
## [
]("https://www.etsi.org/deliver/etsi_gs/CIM/001_099/009/01.03.01_60/gs_cim009v010301p.pdf) Smart Farm
This is a collection of tutorials for the FIWARE ecosystem designed for **NGSI-LD** developers. Linked data concepts are explained
using the entities from a Smart Farm. Each tutorial then demonstrates the correct use of individual FIWARE components via the **NGSI-LD**
interface 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.| :movie_camera: [Introduction
to Linked Data](https://www.youtube.com/watch?v=4x_xzT5eF5Q) | :movie_camera: [Introduction
to NGSI-LD](https://www.youtube.com/watch?v=rZ13IyLpAtA) | :books: [NGSI-LD Tutorial
Documentation](https://ngsi-ld-tutorials.rtfd.io/) |
|---| ---------------------------------------------------------------------- | --- |---
## Install
To download the full set of tutorials, simply clone this repository:
```console
git clone https://github.com/FIWARE/tutorials.Step-by-Step.git
cd tutorials.Step-by-Step/
git submodule update --init --recursive
```The **NGSI-v2** and **NGSI-LD** tutorials are then available under the `NGSI-v2` and `NGSI-LD` directories respectively.
### Docker and Docker Compose
Each tutorial runs all components using [Docker](https://www.docker.com). **Docker** is a container technology which
allows to different components isolated into their respective environments.- To install Docker on Windows follow the instructions [here](https://docs.docker.com/docker-for-windows/)
- To install Docker on Mac follow the instructions [here](https://docs.docker.com/docker-for-mac/)
- To install Docker on Linux follow the instructions [here](https://docs.docker.com/install/)**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](https://docs.docker.com/compose/install/)You can check your current **Docker** and **Docker Compose** versions using the following commands:
```console
docker-compose -v
docker version
```Please ensure that you are using Docker version 24.0.x or higher and Docker Compose 2.24.x 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](https://www.postman.com/downloads/). All the FIWARE
Postman collections can downloaded directly from the
[Postman API network](https://explore.postman.com/team/3mM5EY6ChBYp9D)### Apache Maven
[Apache Maven](https://maven.apache.org/download.cgi) is a software project management and comprehension tool. Based on
the concept of a project object model (POM), Maven can manage a project's build, reporting and documentation from a
central piece of information. Maven can be used to define and download our dependencies and to build and package Java or
Scala code into a JAR file.### Windows Subsystem for Linux
We will start up our services using a simple bash script. Windows users should download the
[Windows Subsystem for Linux](https://learn.microsoft.com/en-us/windows/wsl/install) to provide a command-line
functionality similar to a Linux distribution on Windows.---
## License
[MIT](LICENSE) ยฉ 2018-2024 FIWARE Foundation e.V.