CSD V1

Project information

  • Category: Web
  • Client: Central Bank of Iran
  • Project date: August 2018 - August 2019

Project Description
The first version of Central Securities Depository system based on the microservices architecture.

**NOTE: None of ISC’s projects are open source. So, I am not able to share the code which I have written in this project.

Introduction

Central Bank of Iran’s service for providing inter-bank security market and communication with Tehran Exchange Market. The project was implemented based on microservice architecture.

Technical Architecture
Technical Architecture of the System

My Responsibilites

As the main developer of the team, I am responsible for:

  1. Developed back-end services based on Spring Boot and Spring frameworks.
  2. Developed an Angular application components based on material design.
  3. Implemented microservice architecture patterns including:
    1. Orchestration-based Saga pattern for managing distributed transactions. [code]
    2. Redis Sentinel for automatic failover, monitoring, and notification service.
    3. IBM MQ messaging [code] and Apache Kafka streaming. [code]

Technologies/Languages Used

Technology Usage
Java is used for developing backend services
Typescript is the main language used for developing Angular applications.
Spring Boot framework is used for developing backend services based on microservices architecture
Spring frameworks, including Spring Cloud, Spring Security, Spring Data, etc. are used for developing backend services.
IBM MQ is a message queue which is used for exchanging messages between Socket IO client and banks themselves
Angular framework is used for developing GUI web applications.
Docker is used for virtualization and containerizing services, including backend and frontend services.
SVN is used for version control