Development Documentation

Overview

Here we present the hands-on documentation regarding the SmartCampus platform, the exposed services, SDK, and other development resources that are relevant for the implementation and deployment of the SmartCampus apps.

The same information are valid for anybody that is willing to engage with the SmartCampus platform to produce an Android app based on it.

SmartCampus: Introduction

These slides​ provide a high level introduction of the SmartCampus project.

SmartCampus Platform Architecture

Logically, the SmartCampus Platform consists of the three main elements:

  • The SmartCampus core platform that includes the core platform middleware that relates different modules and components and hosts the core services and applications. The modules, also referred to as Engines, provide the generic purpose functionality, including, e.g., the Social networking and Semantic reasoning, service integration and event processing, trip planning and transport information, etc. The core services, such as the Access control, user profile storage, file storage and management, and communications, are build also using these engines providing necessary APIs for many common tasks and features. The core services and apps are hosted in the core platform and are directly available in the form of Web services.

  • The SmartCampus deployment platform based on CloudFoundry, provides hosting for custom applications that are developed in the scope of the SmartCampus project. This is the place where one can deploy its own server-side application used by the client apps when they need to delegate to the server complex computations and tasks. While in the following we provide the documentation for Java-based Web application, the platform, however, exposes a variety of multi-language services and frameworks, including, e.g., MongoDB, MySQL, Redis, Java Web (Tomcat), Spring, Rails, PHP, Play, etc.

  • The SmartCampus Android app sandbox that includes the core apps and libraries providing basic functionality, such as authentication, access to user social network management, etc.

See here​ for the high-level description of the SmartCampus core platform.

SmartCampus Development Resources

Core Services and Client Libraries

The following list of services is exposed in order to address the common use cases on top of the SmartCampus platform.

  • AC Service (link​). This service aims at providing the identity, authentication, and authorization capabilities for the SmartCampus? applications and services.

  • Profile Service (link​). User basic profile and custom app-specific profile management functionality.

  • File Storage Service (link​). This service aims at providing a way to store user files such as, e.g., multimedia.

  • Communicator Service (link​). The goal of the Communicator service is to manage notifications to users sent by other users/applications.

  • Social Service (link​). The goal of the Social service is to manage the user social connections with respect to the other user and communities as well as to share/follow the information across them.

Additionally, the following service provide some more specific features:

  • DiscoverTrento Service (link​). The Discover Trento service allows the retrieval of informations related to the town life: events, POI and stories.

  • JourneyPlanner Service (link​). Provides the information about the public transportation and exposes the operations for route planning in the city.

Android Template Application and SDK

In the following​ document the information on the development of the applications for Android OS platform. The documentation describes the libraries and their use, the example application template and the structure of the SDK. The SDK can be downloaded here.

Java Web app Template Application and SDK

In the following​ document one can find a tutorial on the development and deployment of an Java-based Web application on top of the SmartCampus services. The documentation describes the necessary —CloudFoundry deployment configuration, presents the Java libraries and their use, as well as an example application template. The SDK can be downloaded here​.


These information were used by the people participating to the ICT DAYS 2013 Hackaton (Trento, 20-22/03/2013) to take advantage of the SmartCampus platform.