Table of Contents
- Overview
- Architecture
- How to build and install
- User and Programmers Manual
- API Overview
- End to End tests
- Feedback
FIWARE Tour Guide App is a on-going node.js sample application used in the FIWARE Tour Guide to show real code working with the Generic Enablers integrated.
This application is a smart, context-aware application which allows to manage large Restaurant chains which are operating worldwide. Is intended to both franchise managers and to customers. To this aim, the main functionalities provided by the application are:
- Admit Customer reservations
- Register customer reviews
- Real-time control of different parameters at each restaurant location (temperature and humidity)
- Restaurant geo-location
- Short time historic data of the different parameters monitored
- Publication of open data concerning the most relevant information about the different restaurant locations, grouped by different properties
It includes (for the moment) the following components:
- Orion Context Broker, providing the NGSIv2 interfaces.
- Backend Device Management - IDAS, to connect IoT devices (temperature & humidity).
- Cygnus for the Cosmos ecosystem to give persistance to the context data (using its sinks).
- Authorization PDP - AuthZForce, to get authorization decisions based on authorization policies.
- PEP Proxy - Wilma, to add authentication and authorization security to the application.
- IDM KeyRock, covering the user profile management, authorization and authentication among others.
- Complex Event Processing - CEP - Proton, to analyse real-time events, detect certain conditions and report that situation to external consumers.
This project integrates a set of Generic Enablers using those enablers inside docker containers. It also comes with restaurants, reviews and reservations loaded to start working out of the box, as well as users and organizations to play with it.
For that purpose, docker and docker-compose are required.
Detailed information of how to start this environment can be found here.
You can deploy an instance of the Fiware TourGuide App in a cloud instance using Docker-machine. Detailed information of this process can be found in the following documentation:
The complete user guide of this environment is available at Readthedocs.
Here you can find a simple example of how to configure a Context Provider using Orion.
Here you can find a simple example of how to use CEP to process notifications from Orion and generate new events.
As Cygnus can publish in several third-party storages, here we explain where you should add your credentials for each source to publish the TourGuide data.
The image provided is based on Euskadi Open Data information. The image is already loaded, but we provide information on how to generate it yourself.
Find out how to load information into a new image using the Tourguide feeders.
Every TourGuide API request must be authenticated. For that purpose, we provide a simple script to generate an Oauth Token based on a username and password of the preloaded data.
The application provides a RESTful API with different routes and functions that covers the functionalities described above:
To run the end to end tests, you will need to first download the repository, then browse to server
folder and run:
$ npm install
$ grunt
Grunt will run jshint
and jscs
linters as well as start a full TourGuide environment and run the End to End jasmine-node tests.
Try and tweak the Tour Guide application and if you have any feedback please contact us at http://ask.fiware.org using the tag 'tour-guide'.