Posts

Journey towards launching: Follow My Church Mobile App - (iOS & Android)

At the start of 2023 I wanted to work on a pet project to implement Cloud Native App.  Following a series of brainstorming sessions, I reached the decision to develop an application specifically designed for churches.  The primary objective is to create a multi-tenant app that enables each individual church to independently manage its own content, while allowing users to access and view the relevant content for their respective churches through a mobile app. I will attempt to guide you through the entire process of implementing this pet project. ***As this project was undertaken as a personal endeavor, the objective was to minimize costs by predominantly utilizing open source technologies and free tier products*** Follow My Church - High Level Components  Phase 1:  Develop   Prototype with App Features for feasibility study Created a prototype which will help visualize the To-Be product and its feature...

Introducing Certificate Expiration Monitoring App

I'm excited to share my latest project: a Streamlit application that simplifies certificate expiration monitoring. With this app, you can: Add and manage application URLs Subscribe to email alerts for certificate expirations Manually trigger certificate checks and alerts View certificate details with expiry warnings Getting Started Try out Certificate Expiration Monitoring by: Cloning the repository from GitHub Installing required packages using pip Running the application using Streamlit GitHub Repository:   https://github.com/lopesrohan1988/CertificateMonitoringApp

Combine or Merge XML documents in Single XML using Boomi & Groovy

Image
In this small post will try to show how you can merge multiple XML Documents in Boomi.  Consider following scenario where you have to merge Document 1 & 2 in a new Document 3 Document 1: <?xml version="1.0" encoding="UTF-8"?> <tns:OutputParameters xmlns:tns="http://sample.com">    <tns:Book>       <tns:Names>          <tns:Name>XZY World</tns:Name>       </tns:Names>       <tns:Authors>          <tns:AuthorID>12354</tns:AuthorID>       </tns:Authors>    </tns:Book> </tns:OutputParameters>   Document 2: <?xml version="1.0" encoding="UTF-8"?> <tns:OutputParameters xmlns:tns="http://sample.com">    <tns:Book>     ...

Quick Guide - Docker/Container/Container Images/Registry

In this post we will be listing and exploring the commands and basic approach to get started build container images with Docker. I am using Google Cloud Shell for this blog but you just installed Docker on your local machine.  Lets go through each keyword in brief: Container Images:  Container image is the package of the actual code and all its dependencies. This makes it easy to be executed on any environments/OS etc.  Example, if you have a nodeJs file say app.js. In order to run the app.js, you will need node version to be installed on the machine. Similarly, in case of a container Image, it will first have a node installation -> your code i.e. app.js in a single package.  Container: Container Images become container when they are running on the platform example, Docker/Kubernetes etc.  Registry: Once you build the image on the local machine, you can check in the image in to Container Registry. This allow it to be pulled from multiple platforms and make it...

Getting started with Data Engineering - Google Cloud Notes

Data engineering at high level is to design, build, monitor and secure the data processing pipelines.  Data pipelines mainly perform ETL (Extract, Transform, Load) jobs, which transform the source data (structure/un-structure) to a data warehouse in a meaningful way, which can than be used for analytics or machine learning models.  Data processing can be in form of batch or streaming. On GCP, we can use Dataproc (Apache Hadoop, Spark etc.) for Batch processing and Dataflow (Apache Beam programing) for Batch & Streaming.  Batch Pipeline: Processing the data in the form of batches. Examples: A nightly Job to extract sales transactions for analysis.  Streaming  Pipeline: Processing continues stream of data. Examples: IoT events, payment processing events, logs. Streaming processing is used when you need a near real-time outcome or decision making.  To get started on Data engineering, would recommend you to go through below courses or labs.  Modernizin...

Introduction to Google Apigee X

Image
  Google Apigee X is the API management platform which allow to develop and manager experience API's.  This APIs can be made available to multiple clients with different security policies.  Example, a Mobile Developer might need a JWT access token validation policy vs a traditional system might need same API with HTTP Basic policy.  As an API management platform, it allow several security policies like SQL injections, JSON Threat Protection etc.  Google Apigee X is full managed API management platform. It consist of a management plane and runtime plane. You can also implement Hybrid model i.e. Cloud & On-Premise runtime instances.  You can refer, below link for high level architecture: https://cloud.google.com/apigee/docs/api-platform/architecture/overview For a hands on experience and details overview, would recommend completing below course and labs: Course: API Design and Fundamentals of Google Cloud's Apigee API Platform       ...

API Design First approach: Implementing quick mock API's using swagger hub and postman

Image
Consider a scenario, where you as a API developer been ask to to implement the API's for a new mobile/web application team. The requirement is to implement a application to allow users to manage orders.         Mobile APP -> API infra->Backend enterprise system While implement a full working API might take days, you also do not want the application team to wait till the API's are ready. Thus, in most case we end up implementing the mock API's with sample scenarios. In this post, we will define an API using swagger openapi 3.0 yaml specification in swaggerhub. We will then use the definition to implement mock API's in postman. Even though postman provide option to define the API's, i liked swagger hub much better, it allow you to view your API on right side.  For this post I implemented API definition in swagger, please find the below link. https://app.swaggerhub.com/apis-docs/lopesrohan1988/ordermanagement/1.0.0 API Definition can be found at below link: h...