---
# System prepended metadata

title: CRP and Common Module coming t

---

# CRP and Common Module coming task

## Coding (Bug Fix) `subtotal 276MD`
- CRP 
    - Refactor micro service svc-sign to simplify signing logic of outgoing message `30MD` -> **_DONE 2024Nov_**
    - Refactor micro service svc-notify to proper handle OAuth2 error and CRA/CP endpoint error `30MD`
    - Refactor micro service svc-rcy to handle logging for required information `30MD` ->  **_DONE 2024Nov_**
    - Review and refactor micro services by codacy analysis ( eg. spotbugs , pmd , checkstyle ) `36MD`


- CRP Block Chain Bug Fix
    - Review and refactor block chain script to run in DEV / UAT env `30MD`


- Common Module Bug Fix
    - Fix security hole by implement SPA OAuth with BFF and corresponding bugs `90MD`
    - Review and refactor backend & frontend source code by codacy analysis `30MD`
    

## Coding (Enhancement) `subtotal 413MD`
- CRP 
    - Upgrade to Java 17 `36MD`
    - Fix vulnerability found on Java and NodeJS `60MD`
    - Add SpringBootAdmin for SpringBoot Application monitoring `12MD`
    - Add distributed tracing capabilities `20MD`
    - Review and refactor source code folder structure and dependency to realise micro service implementation `30MD`
    - Upgrade WebClient connection pool implementation `10MD`
    - Standardize the HTTP calling logic by changing RestTemplate (Blocking mode ) to WebClient (Reactive Async mode) `10MD`
    - Review and Refactor Java App library dependency (crp-pojo/crp-util/msg-util/kafka/repository/workflow) for performance and better resources usage `20MD`
    - Review and Refactor SVC-NOTIFY / SVC-RCY retry logic `10MD`
    - Pending Approval implementation (To schedule update record by TA_APVREQ) `20MD`
    - Upgrade Java / NodeJS library version `15MD`
    - Upgrade Crp-Infra docker image vesrion (Kafka-broker / KeyCloak / Redis / Zookeeper / Connect) `10MD` **_DONE 2024APR_**
    - Rebuild opermenu docker image that runs housekeep script by using alpine linux instead of Ubuntu `10MD` **_DONE 2024APR_**

- Common Module
    - Upgrade to Java 17 `5MD`
    - Fix vulnerability found on Java and VueJS `10MD`
    - Add distributed tracing capabilities `10MD`
    - Remove expose HTTP PORT 80 in Client Image `5MD`
    - Update Python test case after Forms freezes UI coding. `20MD`
    - HTTPS on Backend and Frontend `10MD`
    - Multi-Instance deployment enhancement `10MD`
    - Revise Hibernate Object loading mechanism for better logging and performance `20MD`
    - Revise Source Code folder structure for sourecode management and improve CI / CD mechanism `10MD`
    - Review and refactor msg table naming convention and database normalization `30MD`
    - TecLog implementation `10MD`
    - Coding review and refactor after Forms hand-over `10MD`

## CI `subtotal 101MD`
- Migration from Public GitHub to ICLCLOUD GitHub Enterprise
    - Setup Repo / Account / SourceCode import `1MD`
- Review and migrate CI pipeline from shellscript to GitHub Action `90MD`
    - Add unit test / integration test in pipeline
    - Add Code Quality Check
    - Add Change Logs generation
    - Add build artifact  -> **_DONE 2024Nov_**
    - Add Version Release  -> **_DONE 2024Nov_**
    - Push docker image to Nexus -> **_DONE 2024Nov_**
    - Add push docker image to DockerHub / ghcr.io for Nexus downtime.  -> **_DONE 2024Nov_**
- Implement Docker Image promotion practices to align HKICL requirement `10MD`
    - SIT —> UAT —> PREPROD —> PROD

## CD `subtotal 180MD`
- Source Code Revamp for Source Code folder structure revamp for K8S structure `60MD`
    - CRP (12+2 ms) 
    - Common Module (2ms) 
- Deployment platform migration from DockerSwarm to K8S `90MD`
    - CI migration to K8S by Rancher 
    - Add Helm Repo for K8S config yaml versioning
    - Add Istio for networking service mesh
    - Install and setup ArgoCD for automated CD procedure
- Add monitoring tools `30MD`
    - Resource monitoring of CPU / RAM / Storage / HTTP connection / Kafka performance / PostgresDB performance by Prometheus + Grafana
    - Add Kaili to monitor Istio service mesh
    - Add Jaeger/Zipkin to implement distributed tracing for micro service
    - Advanced logging system by fluent bit and Elastic search