Technology Stack

eSignet is built using the below tools and technologies.

Services and Rest Endpoints

Tool/TechnologyVersionDescriptionLicense

OpenJDK 11

Java is a high-level, class-based, object-oriented programming language that is designed to have as few implementation dependencies as possible.

2.3.6

Spring Framework provides a comprehensive programming and configuration model for modern Java-based enterprise applications - on any kind of deployment platform.

1.18.24

Project Lombok is a java library that automatically plugs into your editor and build tools, spicing up your java.

1.2.3

Logback is a logging framework that provides a fast, reliable, and highly configurable solution for generating logs in Java applications.

0.5.0

This is an implementation of helper objects and functions for JSON-LD documents.

1.6.9

The OpenAPI Specification is a specification language for HTTP APIs that provides a standardized means to define your API to others.

1.2.0.1-B3

The Key Manager Service provides secure storage, provisioning and management of secret data. It provides all the cryptographic operations like encryption/decryption and digital signature/verification making one trust store for all partner trust path validation.

18.2v

React lets you build user interfaces out of individual pieces called components.

Storage

Tool/TechnologyVersionDescriptionLicense

15

PostgreSQL also known as Postgres, is a free and open-source relational database management system (RDBMS) emphasizing extensibility and SQL compliance.

Redis is a open source, in-memory data store used by millions of developers as a database, cache, streaming engine, and message broker. Redis can be replaced with any cache compatible with spring-cache.

Apache Kafka is an open-source distributed event streaming platform used by thousands of companies for high-performance data pipelines, streaming analytics, data integration, and mission-critical applications.

Deployment

Tool/TechnologyVersionDescriptionLicense

3.6

Apache Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project's build, reporting and documentation from a central piece of information.

20.4 and above

Docker is a set of platform as a service (PaaS) products that use OS-level virtualization to deliver software in packages called containers.

npm is the package manager for the Node JavaScript platform. It puts modules in place so that node can find them, and manages dependency conflicts intelligently.

master branch

All workflows necessary to build the project is kept here

depends on e-Signet version

Helm helps you manage Kubernetes applications - helps define, install, and upgrade even the most complex Kubernetes application. Charts are easy to create, version, share, and publish — so start using Helm and stop the copy-and-paste.

Testing

Tool/TechnologyVersionDescriptionLicense

JUnit is a unit testing framework for the Java programming language.JUnit has been important in the development of test-driven development, and is one of a family of unit testing frameworks which is collectively known as xUnit that originated with SUnit.

Newman

TBA

Postman is an API platform that simplifies the API lifecycle and streamlines collaboration. You can browse the largest network of public APIs, create and share your own workspaces, and access governance rules for API quality.

JQ

TBA

Last updated

Copyright © 2021 MOSIP. This work is licensed under a Creative Commons Attribution (CC-BY-4.0) International License unless otherwise noted.