Approach

Agile Development

Efficient and agile processes are the motor of modern software creation. To ensure flexibility in development without sacrificing clarity and goal-directedness, we rely on Scrum and Kanban as our software development methodology.

Frameworks

Efficient Software Frameworks

Our software products rely on a number of established frameworks such as Java, Spring and Quartz for the backend and EmberJS, React, Sass and Bootstrap for the frontend. By using Hibernate, our products also support different relational databases: You’re free to choose among MySQL, MariaDB, Oracle, PostgreSQL and more.

Automation: CI / CD

Integration at Lightning Speed

To accelerate development to your benefit, we use state-of-the-art automation at all times during the development process. This guarantees quick, continuous integration of changes. We have found out best practises in coding and automation that work well for our software projects.

Automation in Development

A speed boost for our development: We use Lombok for annotation-based boilerplate code generation and Spring Data Repositories for convention-based DAO code generation. We follow a git flow-based development process. By making use of feature flags and breaking down development “stories” properly, we keep branches short lived. We also automate logging, call statistics and timestamp synchronization, via custom interceptors.

Automation in Testing

We make use of a variety of automated testing technologies, for revising units, components and security constraints (JUnit, Mockito), as well as specification by example tests (e.g. using Cucumber) and end-to-end tests (e. g. using TestCafe or Cypress). Merges to the development branch automatically have to pass all quality gates (code analysis, tests) before being deployed.

Automation in Building and Deployment

Management of dependencies and build orchestration requires automation to function efficiently. Aside from Apache Maven, we found Jenkins Pipelines to work perfectly for us, also because they support Docker. In addition, we instrument automated database scheme updates using Flyway and static code analysis via SonarQube. CoreWallet based products can be fully dockerized and are easily deployable in any docker supporting environment, including clouds.

Architecture and Integration

The “API First” Principle

Extensibility and good maintainability are key elements of our software. We achieve the best results using clean APIs and a strictly modularized implementation with every module consisting of 3 layers (controller, service and DAO). We prefer proven and secure solutions over novel but non-established technology.

CoreWallet

The white boxes below indicate the building blocks provided by CoreWallet. They are easily extensible with your individual product features and business processes.

trimplement CoreWallet Architecture

CoreExchange

Via API, CoreExchange can be easily integrated into your backoffice and consumer UI. Alternatively, we also offer white-label UIs for you. Various payment providers and blockchains can be easily incorporated.

trimplement CoreExchange Architecture

Service Architecture

The Monolithic Approach

At trimplement, we use a monolithic architecture for CoreWallet and our other products, managing a consistent product core with low latency and high compatibility. Due to a strict domain-driven design, typical monolithic weaknesses like difficult maintenance and extendability don’t apply. On the plus sider, the monolithic approach has clear advantages for our software projects:

We are convinced that monoliths are superior to microservices in fulfilling our top priority: Enabling digital financial solutions within short time to market. They are not a “one fits all” approach. But using monoliths’ unique benefits, while providing backend applications that can be handled via modern CI/CD processes and tools (one click deployment, frequent updates), is the best way to offer value to our customers.

Click here for an in-depth comparison between microservices and monolith

Documentation

The Depths of Our Technology

For in-depth information about our technology and our technical specifications, browse through our documentation portals. There you will find information about our UI, APIs, Data Model, Licencing and much more.

To the CoreExchange Documentation

Contact

Let's get started

Our software products and know-how already empower businesses all across the globe. Your project could be next. If you want to get us aboard, just leave your contact details and the timeframe within which we can reach you. We will reply as soon as possible.

Contact us!