CAKE APPS Delivery Unit

(2022 Dec – Present)
Under this project we get different modifications and new functionality requirements for the already existing restaurant management system. We developed and release a Kitchen Delivery System(KDS) which can send customer’s food orders from Point of Sales(POS) machine to kitchen display. So that the chef can work on preparing the meal and bump it away once done. This Improved the efficiency of kitchen and allows to monitor the performance of staff. I was responsible for implementing a plugin in spring boot to send the order received from POS to KDS.

Other than that I involved in UI modification of the reports dashboard which is implemented in react to enhance the customer experience. In the react code base we wrote unit tests for manager layers. Below are the tools and technologies I had to use under this project.

  • JAVA 11
  • Spring Boot
  • React
  • CouchDB
  • REST APIs
  • Bitbucket
  • Jenkins
  • Sonar Qube
  • AWS EC2/ECS
  • Redis
  • Jira
  • Docker
  • Postman

Continuous Publishing Services

(2021 Aug – 2022 Nov)
This project is to implement a front-end and a back-end which gets loaded in currently existing Gutenberg portal. Project Gutenberg is a library of over 70,000 eBooks. The newly implemented window allows the book authors to upload the media assets such as Audio, Video, Images, PDF and draft their eBook content.

Several endpoints were exposed from back-end to execute the front-end functionalities such as upload files, download files, update the metadata of files, retrieve the metadata of files and so on. Every end point was secured by an OPA(Open-Policy-Agent; policy-based control for cloud native environments) service to add extra security to APIs. This was implemented by myself. There we had a separate OPA service implemented with policies and exposed endpoints to return true or false based in security aspects we have defined. Then I used aspects in java to call those endpoints and get validated before executing the service layer of that particular API.

Below are the tools and technologies I have used under this project.

  • JAVA 11
  • Spring Boot
  • React
  • Rest APIs
  • Github
  • Junit
  • AWS S3
  • Jenkins
  • Jira
  • Postman
  • SonarQube
  • Docker

DTE Monitoring Dashboard

(2021 Jan – 2021 Aug)
This project is all about monitoring the micro-services created and deployed in kubernetes cluster via DTE Platform. FluentD was used to monitor log alarms, Grafana was used to monitor pod alarms and Nagios was used to monitor platform alarms of the node of the cluster.

Each stream of above is received by different spring boot application which act as managers and they sends email notifications to relevant stakeholders of that micro-service.

I was responsible for below tasks
1. Developed an email notification service to send emails on alarm
generation and clearance to support users of microservices in DTE.

2. Developed a scheduler service to notify FMS system of NCELL on alarms
generated.

3. Developed an alarm clearance service to clear alarms on time based and
count based by executing a scheduler

Below are the tools and technologies I have used under this project.

  • JAVA 8
  • Spring Boot
  • MySQL
  • Rest APIs
  • GitLab
  • Junit
  • Kubernetes
  • Jenkins
  • Jira
  • Postman
  • SonarQube
  • Docker
  • RabbitMQ

Ncell single customer app

(2020 Jan – 2020 Dec)
This is a mobile application which developed for use of people in Nepal to
perform the functionalities of their service provider, Ncell.
I was responsible for creating 4 micro-services using spring boot which needs to align with business requirements;

myfive-service-mgt: Exposed endpoints to attach/revoke 5 mobile numbers to particular msisdn in main system. Then that msisdn will get special rating when calling/texting to those numbers

complain-mgt: Exposed endpoint to allow user to lodge complains in main system via mobile app

campaign-mgt: Exposed endpoint to create campaigns with pre-defined bucket of resourced. There is a campaign start date and end date. subscribers can be added to campaigns. So that they and utilize the resources within that time range.

referring-mgt: Exposed endpoints to create a dynamic URL specific to msisdn. So that he can send that to his friends. When his friends clicks on that link and download the app, he will be rewarded with a data package which are already configured. This is to iincrease the app’s rating based on its number of downloads.

Below are the tools and technologies I have used under this project.

  • JAVA 8
  • Spring Boot
  • MySQL
  • Rest APIs
  • GitLab
  • Junit
  • Kubernetes
  • Jenkins
  • Jira
  • Postman
  • SonarQube
  • Docker

Digital Telco Enabler (DTE)

(2018 Aug – 2019 Dec)
DTE provides a platform to transform your business ideas to product or
services rapidly. It applies DevOps model with best use of tools and practices
without stressing about IT operational complexities.

There is a portal that developers can access. When they want to create a new micro-service, they can log into that and provide needed information for that such as project name, template required, build steps; build -> code quality check -> docker push -> deploy, number of pods needs to be created, etc.

Then a project will be created at GitLab. Developer can clone that repo and continue on implementing the business logic. after that he has to make a merge to develop branch. Then the Jenkins pipelines will be triggered and after the build steps, application get deployed in a kubernetes cluster.

I was responsible for below tasks.
1. User group and permission management
2. GitLab integration via a newly implemented java plugin
3. CI-CD pipeline set integration (Trigger Merge)
4. Template upload functionality

  • JAVA 8
  • Spring Boot
  • MySQL
  • Rest APIs
  • GitLab
  • Junit
  • Kubernetes
  • Jenkins
  • Jira
  • Postman
  • SonarQube
  • Docker
  • RabbitMQ