My projects
Secure DevOps Pipeline for Kubernetes Deployment
May 2024 - Sept 2024
Objective: Establish efficient continuous integration and continuous delivery pipelines to streamline application deployments to a Kubernetes cluster.
This Agile-driven project streamlined the deployment of a Spring Boot application to a robust Kubernetes cluster. Using a Jenkins pipeline, it included stages triggered by merged pull requests from GitHub, compiling the project, running tests, performing code analysis with SonarQube, and scanning for vulnerabilities with OWASP Dependency-Check. Maven-built artifacts were stored in Sonatype Nexus, and Docker packaged them with necessary dependencies. Aqua Trivy scanned the Docker image before pushing it to Docker Hub. In the final stage, Jenkins, with the necessary roles and authorizations, deployed the application to the Kubernetes cluster using kubectl.
Virtual Private Network Application
Jan 2023 - May 2023
Objective: Apply advanced privacy preservation techniques to ensure the integrity and confidentiality of user data in transit across interconnected processes on separate systems.
In this project, we designed and developed a robust client-server application using the Transmission Control Protocol (TCP) to ensure reliable communication between processes across diverse systems. The application, built entirely in Java, comprises a client program that operates locally and server instances hosted on AWS. To secure data, the server employs the Advanced Encryption Standard (AES) for encrypting all search query traffic. We established a TCP/IP connection using Sockets to properly manage client connections. Also, a Diffie-Hellman-based secret key exchange mechanism was implemented to enhance the security of key sharing between the client and server.
👉 GitHub
Word Frequency Library Search Engine
Mar 2022 - Jul 2022
Objective: Leverage parallelism and processing power to improve search engine performance for digital libraries.
In an effort to enhance users' search query results based on the most relevant documents within a medium library (20,000 - 200,000 documents), we altered the logical layer, which initially consisted of a single node (N) processing all requests, by scaling it to 5N nodes while preserving the ideal parallelism threshold, defined as work / span, where work is the total number of computational operations required, and span is the longest sequence of dependent operations.
👉 GitHub
Ligablo Food
Dec 2018 - Apr 2019
Objective: Develop a centralized online point-of-sale platform for major fresh food producers to expand customer reach and drive revenue growth.
In this project, I developed a fully responsive, three-tier web application using Vue.js, Vuex, and Bootstrap for the front end. The backend, built with Node.js (Express.js), handles REST API features, including key HTTP endpoints and data preprocessing, and is deployed on GCP. MongoDB, integrated with Mongoose, serves as the database. Check out a sample of the website by clicking the link below.
👉 Website