Explore Knowledge Base

Knowledge Transfer Guide

31. 01. 2025

1. Plan
1.1. Set Up
1.3 Actors and entities
1.4. Project settings
1.5. Operation description
1.6. OpenAPI

1. Plan

1.1. Set Up

Install and set up environment (independently)
Q&A session by environment set up.

1.2 . Introduction

1.2.1. Project structure description

  • modules
  • libraries

1.2.2. Module layer design

General approach to separate modules by sub-modules

  • model: Entities
  • service: Services, Configurations, DB migrations, Repository APIs, Service DTOs (-Data), Mappers
  • presentation: REST Controllers, Requests & Responses DTOs

1.2.3. Demo session: How to add field into entity, service, DTO at presentation layer

1.3 Actors and entities

1.3.1. Currency, Coin

  • application-bootstrap.yaml

1.3.2. Organization types description

  • application-organizations.yaml

  • organization types
  • system
  • support
  • cash_desk
  • individual
  • merchant
  • organization permissions

1.3.3. Member, User, User profile extension

1.3.4. Operations

  • Transaction
  • Tx (gate – operations related to external systems)
  • BusinessProcessRequest
  • BusinessProcess

1.3.5. Flow description

  • OperationFlow – describe transaction flow between srcCoinType and destCoinType
  • application-core.yaml

1.3.6. Commission settings

  • application-bootstrap.yaml

  • CommissionProfile

    • CommissionRule

      • CommissionRuleCondition

    • LimitRule

1.3.7. Exceptions handling

GenericDisplayableException

ApiExceptionHandler

1.4. Project settings

1.4.1. Initial start

  • application.yaml

  • flyWay DB migrations AbstractFlywayConfiguration

  • BatchInitializer – contains initial steps, application-system-initialization.yaml

1.5. Operation description

1.5.1. Execution strategies

  • DirectExecutionStrategy
  • AuthorizationExecutionStrategy & CaptureExecutionStrategy
  • ReversalExecutionStrategy

1.5.2. Mongo DB: transaction view

  • CommonBusinessProcessMapper (BusinessProcess → BusinessProcessRecord)
  • BusinessProcessDtoMapper (BusinessProcessRecord → BusinessProcessDto)

1.5.3. Transfer operation demo

1.6. OpenAPI

1.6.1. Open API schema description

1.6.2. How to generate the openapi.jar by schema

1.6.3. How to use generated client for testing