# 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