Iranian Instant Payment (IIP)
**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
IIP is Central Bank of Iran’s newest inter-bank payment system. IIP services are available all-around-the clock and should result in the immediate or close to immediate crediting of the Beneficiary’s account. The project is based on microservice architecture.
My Responsibilites
- Developed a Socket.IO client based on Spring Boot for pre-defined communication between IIP and consumer banks. The client receives from and send messages to consumer banks using IBM MQ and communicates with Socket.IO server.
- Developed a terminal for real-time communication between the Angular application and the server’s command line using WebSocket and Xterm.js.
- Netflix Zuul gateway implementation for receving messages from clients based on REST endpoints and delivering them to destination services using Apache Kafka. For service discovery, Eureka server is used.
[Source Code]
Technologies/Languaes 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. | |
Socket IO library is used for implementing its client for real-time communication with server | |
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 |
Project information
- Category: Web
- Client: Central Bank of Iran (CBI)
- Project date: August 2019 - Present