Appearance
Modules
Core
Vasat core provides the key abstractions for an application.
- Concepts to represent your data agnostic of underlying implementation
- Asynchronous flows that leverage of established technologies such as reactive streams
- Easy to use libraries to serialize objects to a JSON representation
- Powerful reflection libraries to help auto document and code generate the base structures of an application
- Abstract representations of Access Control rules
- OpenAPI/Swagger doc builder using code annotations
Authentication
Vasat Auth provides a full OAuth2 implementation. Combined with the Admin UI an out of the box OAuth2 flow can be catered for with no development.
OAuth module provides support for
- Standard OAuth Grant flows
- password
- client_credentials
- authoriszation_code
- implicit
- refresh_token
- Custom Typed User definition
- Maintains Access Control Lists
- With the Third-party module, provides support for remote OAuth verification from
- Google Signon
- Microsoft Active Directory
- Amazon Cognito
- Facebook Signon
- Additional security capabilites on top of normal OAuth2 such as:
- IP restriction
- Account locking
- RSA signed packets
- Security Event logs
Play
All the bindings to attach Vasat to Play Framework. This module exposes all of the Vasat services and custom implementations as a RESTful API. Also provides helper classes to allow Play Controllers to utilise the framework for access control and serialization.
Slick
The default storage provider for Vasat. Utilises the Typesafe Slick library to map data structures to a relational database. Module provides a suite of code generating macros to make definition of a model very simple.
GIS
A dedicated module for managing GIS data. This module leverages a Postgres DB, with the PostGIS extension. Geometry data types will seamlessly map from GeoJSON to Scala to Postgis and back again. Contains a comprehensive database of Coordinate systems which can be customised. As well as established libraries for handing GIS projections and translations. The underlying PostGIS DBs searching and indexing capabilities map through to the RESTful API. The module allows for powerful GIS capability on large volumes of data with very little coding.
Third Party
A collection of classes designed to interface with 3rd party providers like Google AWS Azure.