diff --git a/content/authors/authors.json b/content/authors/authors.json
index ed74abc..f3c86a6 100644
--- a/content/authors/authors.json
+++ b/content/authors/authors.json
@@ -114,5 +114,9 @@
"Sriram Seshadri": {
"avatar": "sriramg.png",
"role": "Principal System Engineer - Customer Success"
+ },
+ "Paweł Garbacik": {
+ "avatar": "pawelg.png",
+ "role": "Solution Architect - Customer Success"
}
}
diff --git a/content/authors/avatars/pawelg.png b/content/authors/avatars/pawelg.png
new file mode 100644
index 0000000..0a0a81d
Binary files /dev/null and b/content/authors/avatars/pawelg.png differ
diff --git a/content/posts/unpublished/backbase-tech-stack/assets/HL_Architecture.drawio.png b/content/posts/unpublished/backbase-tech-stack/assets/HL_Architecture.drawio.png
new file mode 100644
index 0000000..cfe93be
Binary files /dev/null and b/content/posts/unpublished/backbase-tech-stack/assets/HL_Architecture.drawio.png differ
diff --git a/content/posts/unpublished/backbase-tech-stack/assets/Technologies.drawio.png b/content/posts/unpublished/backbase-tech-stack/assets/Technologies.drawio.png
new file mode 100644
index 0000000..ef6a3fb
Binary files /dev/null and b/content/posts/unpublished/backbase-tech-stack/assets/Technologies.drawio.png differ
diff --git a/content/posts/unpublished/backbase-tech-stack/assets/tech_stack_img_2.jpeg b/content/posts/unpublished/backbase-tech-stack/assets/tech_stack_img_2.jpeg
new file mode 100644
index 0000000..f98fb64
Binary files /dev/null and b/content/posts/unpublished/backbase-tech-stack/assets/tech_stack_img_2.jpeg differ
diff --git a/content/posts/unpublished/backbase-tech-stack/post.md b/content/posts/unpublished/backbase-tech-stack/post.md
new file mode 100644
index 0000000..411a95e
--- /dev/null
+++ b/content/posts/unpublished/backbase-tech-stack/post.md
@@ -0,0 +1,198 @@
+# Backbase tech stack
+
+What exactly is being used to build banking applications in Backbase?
+
+![](assets/tech_stack_img_2.jpeg)
+
+Authors: Paweł Garbacik
+Date: unpublished
+Category: tech-life
+
+tags: architecture,technology,patterns,stack
+
+---
+
+## Introduction
+
+Backbase Engagement Banking Services is a comprehensive solution with a lot of capabilities.
+It is thought out and designed to provide modern architecture with the latest market standards,
+the most advanced security mechanisms, and great extensibility and flexibility to make it easy
+to integrate with different core banking systems.
+
+To achieve this, different technologies, frameworks, standards, and architectural patterns need to be combined.
+
+
+This article aims to provide an insight into how the Backbase software is built and integrated on a high level,
+what kind of technologies are used on a different levels and layers.
+
+## High level architecture
+
+
+
+Engagement Banking Services are divided according to the capabilities they offer, the role they play, and on which level they operate.
+
+Each service is designed to perform completely different tasks and offers specific ways to interact with it.
+
+On the top there are client-facing apps. These applications are available for 2 different platforms:
+
+* Web applications - available on modern web-browsers, dedicated for different group of users, segregated by the roles and responsibilities
+* Mobile applications - available on popular mobile devices powered by iOS and Android Mobile OSs
+
+These applications allow to interact with backend services for these users who have proper permissions.
+Client APIs are a dedicated and well secured APIs designed for interaction between client-facing applications and backend services.
+
+On the next layer, there are services which take care of the security of the client-facing applications.
+These layer of services is able to recognize the user and introduce the same user to backend services in a more understandable way.
+This layer also offers the set of generic services which delivers generic capabilities like document storage or auditing for all other specific services.
+
+Next layer offers specific banking services like Arrangements, Batches, Cards, Contacts, Payments etc.
+These services offer set of functions oriented on a specific banking capability.
+Interaction between services on this layer is possible through the Service APIs.
+
+To interact with Core Banking services or Third Party services, there is a dedicated integration layer.
+Banking Services have defined set of integration APIs for outbound and inbound connectivity.
+Outbound APIs are for communication from BB to Core. Inbound APIs are from communication from Core to BB.
+Thanks to this asynchronous data exchange is easy achievable and the load can be optimised by the Core.
+In many scenarios, Integration Services are implemented as a separate layer where the communication with Core is defined
+and custom logic is implemented.
+This approach gives the flexibility of the solution because there is one shared API spec between Banking and Integration Services,
+and what is more Integration Services can deliver something specific which is required to properly deliver integration with Core Banking.
+
+Backbase has also a new way for integrating with Core and Third Parties. It was introduced in 2024, and it is called Grand Central.
+Grand Central is something like Integration Platform or Connectivity Platform. It is integrated with Banking Services,
+and it is focused on building integration connectors as a small pieces. In this approach the delivery effort is smaller and time to market is shorter.
+
+## Technology Stack
+
+To achieve the highest level of security, the best possible performance and to deliver flexibility and extensibility for entire platform,
+Backbase combines different market-leading technologies.
+
+![](assets/Technologies.drawio.png)
+
+### Web
+
+Web solution is built on the top of leading framework Angular. Developers use also dedicated plugins and frameworks which
+extend Angular capability and make development process easier and faster.
+
+| | |
+|:-------------------------|:-------------------------------------------------------------------------------------------|
+| Runtime | [Node.js](https://nodejs.org/) |
+| Package Manager | [NPM](https://www.npmjs.com/) |
+| Framework | [Angular](https://angular.io/) |
+| Programming
language | [TypeScript](https://www.typescriptlang.org/) |
+| Dev Tools | [NX](https://nx.dev/) |
+| API mocking tools | [ng-apimock](https://ngapimock.org/) |
+| UI framework | [Bootstrap](https://getbootstrap.com/)
[ng-bootstrap](https://ng-bootstrap.github.io/) |
+| Linter | [ESLint](https://eslint.org/) |
+| Code formatter | [Prettier](https://prettier.io/) |
+| State management | [NgRx](https://ngrx.io/) |
+| Reactive
programming | [RxJs](https://rxjs.dev/) |
+| CSS preprocessor | [Sass](https://sass-lang.com/) |
+| Testing framework | [Jest](https://jestjs.io/) |
+| Automation library | [Playwright](https://playwright.dev/) |
+
+### Mobile
+
+Mobile applications are built using native technologies. It means both platforms iOS and Android have separate codebases
+for mobile applications, and they are developed in dedicated environments. This approach guaranties the best possible
+performance,
+and it follows best practices defined platforms creators like Apple Inc. or Google LLC.
+
+#### iOS
+
+| | |
+|:---------------------------------|:-------------------------------------------------------------------------|
+| Programming
language | [Swift](https://www.swift.org/about/) |
+| IDE | [Xcode](https://developer.apple.com/xcode/) |
+| Dependency
manager | [CocoaPods](https://cocoapods.org/) |
+| UI Framework | [UIKit](https://developer.apple.com/documentation/uikit) |
+| Handling of
async events | [Combine](https://developer.apple.com/documentation/combine) |
+| Reactive
programming | [RxSwift](https://github.com/ReactiveX/RxSwift) |
+| Unit and
performance tests | [XCTest](https://developer.apple.com/documentation/xctest) |
+| Automated
screenshot testing | [SnapshotTesting](https://github.com/pointfreeco/swift-snapshot-testing) |
+
+#### Android
+
+| | |
+|:---------------------------------|:------------------------------------------------------------------------------------------------------|
+| Programming
language | [Kotlin](https://kotlinlang.org/docs/home.html)
[Java](https://www.java.com/en/) |
+| IDE | [Android Studio](https://developer.android.com/studio) |
+| Dependency
manager | [Gradle](https://gradle.org/) |
+| UI Framework | [Android UI](https://developer.android.com/develop/ui)
[Material Design](https://m2.material.io/) |
+| Dependency
Injection | [Koin](https://insert-koin.io/) |
+| Concurrency
design pattern | [Coroutines](https://developer.android.com/kotlin/coroutines) |
+| Unit tests | [JUnit](https://junit.org/junit4/) |
+| Mocking data | [Mockito](https://github.com/mockito/mockito) |
+| UI testing
automation | [Espresso](https://developer.android.com/training/testing/espresso) |
+| Automated
screenshot testing | [Shot](https://github.com/pedrovgs/Shot) |
+
+### Backend
+
+Backend solution is built with Java language on the top of Spring Framework. Backend solution is very elastic and configurable.
+It currently supports several Database and Messaging solutions.
+
+| | |
+|:--------------------------|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| Programming
language | [Java](https://www.java.com/en/) |
+| Dependency
manager | [Maven](https://maven.apache.org) |
+| Frameworks | [Spring Framework](https://spring.io/)
[Spring Boot](https://spring.io/projects/spring-boot)
[Spring Cloud](https://spring.io/projects/spring-data) |
+| Integration
framework | [Apache Camel](https://camel.apache.org) |
+| Service Discovery | [Netflix Eureka](https://cloud.spring.io/spring-cloud-netflix/reference/html/) |
+| API | [RESTful](https://restfulapi.net)
[OpenAPI](https://www.openapis.org/) |
+| Databases | [MySQL](https://www.mysql.com/)
[MSSQL](https://www.microsoft.com/en-us/sql-server)
[Oracle](https://www.oracle.com/database/) |
+| ORM | [Spring Data](https://spring.io/projects/spring-data) |
+| Database schema managemnt | [Liquibase](https://www.liquibase.org/) |
+| Messaging | [ActiveMQ](https://activemq.apache.org/)
[RabbitMQ](https://www.rabbitmq.com/)
[Azure Service Bus](https://azure.microsoft.com/en-us/products/service-bus) |
+
+#### IAM
+
+IAM is an Identity and Access Management solution. It uses under the hood the Keycloak Identity Provider which is much expanded compared to the original version.
+It uses Quarkus Java Framework. IAM leverages not only Identity Provider but also internal, custom services for Access Management and Authorization purposes.
+These are quite important set of services which are integral part of entire Backbase platform.
+
+| | |
+|:----------|:--------------------------------------|
+| Framework | [Quarkus](https://quarkus.io) |
+| Solution | [Keycloak](https://www.keycloak.org/) |
+
+### Infrastructure
+
+OK, we shortly discussed the tech stack and high level architecture but these services need to be hosted somehow and somewhere.
+Thanks to containerisation and used technology, Backbase services are ready to be deployed almost everywhere
+starting from classic application servers and on-premises environments ending with the container platforms such us Kubernetes or OpenShift
+deployed in different cloud environments.
+
+Backbase recommends dedicated hosting solution called BaaS - Backbase as a Service.
+It is built on the top of Azure and GitHub, and it is fully supported by operational team.
+
+#### BaaS (Backbase as a Service)
+
+| | |
+|:-----------------------|:------------------------------------------------------------------------|
+| Cloud vendor | [Azure](https://azure.microsoft.com/) |
+| Container solution | [Docker](https://www.docker.com/) |
+| Container orchestrator | [Kubernetes](https://kubernetes.io/) |
+| Package manager | https://helm.sh/docs/ |
+| Service Mesh | [Istio](https://istio.io) |
+| GitOps tools | [Argo](https://argoproj.github.io) |
+| Version control | [GitHub](https://github.com) |
+| CI/CD | [GitHub Actions](https://github.com/features/actions) |
+| Observabiity | [Datadog](https://www.datadoghq.com)
[Grafana](https://grafana.com) |
+
+### Security
+
+Security is a key principal in reliable banking environment. Backbase places great emphasis on data security and the safety of using the platform.
+All the services and included features are designed in such a way that no unauthorized person gets access to data, functionalities or to perform operations.
+Security in Backbase is built on global standards. It is focused on Zero Trust approaches, and it is regurally tested, audited and certified.
+
+| | |
+|:---------------------------------------------------------------------------------------------------------------------------------|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| [OAuth](https://oauth.net/2/) | OAuth 2.0 is the industry-standard protocol for authorization. |
+| [Authentication](https://auth0.com/intro-to-iam/what-is-authentication) | Authentication is the process that companies use to confirm that only the right people, services, and apps with the right permissions can get organizational resources. |
+| [Authorization](https://auth0.com/intro-to-iam/what-is-authorization) | Authorization is the process of giving someone the ability to access a resource. |
+| [mTLS](https://www.cloudflare.com/en-gb/learning/access-management/what-is-mutual-tls/) | Mutual TLS is a method for mutual authentication. mTLS ensures that the parties at each end of a network connection are who they claim to be by verifying that they both have the correct private key. |
+| [Data at rest
encryption](https://www.ibm.com/docs/en/strategicsm/10.1.3?topic=security-data-rest-encryption) | The encryption of the data that is stored in the databases and is not moving through networks |
+| [Encryption
in transit](https://docs.tenable.com/cyber-exposure-studies/data-protection/Content/EncryptionDataInTransit.htm) | Encryption in Transit refers to encrypting data that is transferred between two nodes of the network |
+| [OWASP](https://owasp.org) | An online community that produces freely available articles, methodologies, documentation, tools, and technologies in the fields of IoT, system software and web application security. |
+
+