Code Monkey home page Code Monkey logo

musap-link's Introduction

MUSAP Link

MUSAP Link is an optional Java server component for the MUSAP library. MUSAP Link allows integrating the MUSAP library to external web services with a simple REST API.

MUSAP link library does not store any critical user data. It only stores push notification tokens and transport security keys for each registered MUSAP client library. Registering a MUSAP library to the link library is always optional and a user choice.

Each MUSAP link can be integrated with any number of apps using the MUSAP library. The MUSAP link server URL must be configured on the MUSAP library to enable the connectivity between the link library and the MUSAP library.

MUSAP library can be found here:

MUSAP Link API description can be found here:

Features

  • RESTful Integration: MUSAP Link provides a straightforward REST API for seamless integration with external web services.
  • External SSCD Integration: MUSAP Link supports the ETSI TS 102 204 API for integrating external SSCDs.
  • Push Notification Support: MUSAP Link provides simple push notification integration, supporting both APNs and FCM.
  • Database Compatibility: Supports external databases, with recommended options being PostgreSQL or SQLite3.

Architecture

Link_Library_Architecture

Project Structure

MUSAP_Link_Project_Structure

Installation

Building

MUSAP Link can be built with:

mvn package

Database

MUSAP Link requires an external database. We recommend either PostgreSQL or SQLite3. The SQL schema can be found here.

Usage

Installer needs to create musaplink.conf and fill PostgreSQL details. The configuration is copied into /usr/local/tomcat/conf.

cp musaplink.conf.sample musaplink.conf

Building docker image

docker build -t musap-link .

Running the container

docker run -p 8080:8080 musap-link:latest

Configuration

Configuration is done via standard Java properties. Example configuration can be found here.

Push Notification

Both APNs and FCM are supported for push notifications.

Example configuration:

# FCM
musaplink.fcm.projectid = 
musaplink.fcm.projectname = 
musaplink.fcm.apikey    = 
musaplink.fcm.debug     = true
musaplink.google.services.file =

# APNs
musaplink.apns.teamid = 
musaplink.apns.keyid = 
musaplink.apns.signingkey =
musaplink.apns.topic    = 
musaplink.apns.debug     = true

External SSCD

For external SSCDs, MUSAP link currently supports the ETSI TS 102 204 API. Example SSCD configuration:

musaplink.client.clientid.1                 = LOCAL
musaplink.client.apid.1                     = 
musaplink.client.appwd.1                    = 
musaplink.client.keystore.1                 = /tmp/keystore
musaplink.client.keystore.pwd.1             = 
musaplink.client.keystore.type.1            = JKS
musaplink.client.keystore.provider.1        = SUN
musaplink.client.signatureurl.1             = 
musaplink.client.statusurl.1                = 
musaplink.client.registrationurl.1          = 
musaplink.client.profileurl.1               = 

Database

Example DB configuration:

musaplink.db.url          = jdbc:postgresql://localhost:5432/musaplink
musaplink.db.username     = musap
musaplink.db.password     = musap
musaplink.db.driver.class = org.postgresql.Driver

License

This project is licensed under the Apache License 2.0 - see the LICENSE file for details.

musap-link's People

Contributors

hemuu avatar tmub avatar

Stargazers

 avatar

Watchers

Matti Aarnio avatar  avatar  avatar Atte Walden avatar Tendaworld avatar

Forkers

tenda-dev

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.