/pound

A lightweight UI for Asterisk PBX written with Kotlin, Spring Boot 2 and Angular

Primary LanguageHTMLGNU General Public License v3.0GPL-3.0

Build Status Known Vulnerabilities codecov sonarcube

Pound

A minimal user interface for asterisk

Pound operates in a readonly mode on the database that asterisk writes it's CDR records to. It is not able to do any modifications to asterisk configuration (and is not planned to be).

Features

  • View Call History via REST-API
  • View Call History in UI
  • Notification on Missed Calls
  • Call Statistics

Modules

Following a quick overview of the project modules, what they're doing and how they are connected with each other:

  • api
    The REST interface definition, using swagger.

  • backend-rest
    Generated sources for the backend, based on the api module.

  • backend
    The spring boot based backend application, depending on the backend-rest module for it's interface.

  • frontend
    The angular based frontend application, depending on the api module for communication with the backend.

  • assembly
    The main module used to start the application. Contains the spring boot main class and depends on backend and frontend.

Build

To build pound an run integration tests, you'll have to start the dockerized postgres database first:

docker-compose up -d
mvn clean install