University of Moratuwa
Bachelor of Science in Computer Science and Engineering
2022 - 2026
A Computer Science and Engineering undergraduate mainly focusing on Distributed Systems, Cloud Computing, Computer Security, Networking, Software Architecture and Big Data. One who always questions how things work, why they exist, and how to turn that knowledge into something real. One who doesn't chase the shiny, visible layers—but fascinated by the middle layers, the unseen parts that make everything possible. One who loves building for those who build technology, creating the tools that power innovation. And one who believes that knowledge isn’t meant to be kept but shared, always eager to pass on what is learned.
I am currently pursuing a Bachelor of Science in Computer Science and Engineering at the University of Moratuwa. I am expected to graduate in 2026.
I have a wide range of skills that I have acquired over the years. I am proficient in the following technologies and tools.
Failure detection is one of the most fundamental building blocks of distributed computing for ensuring fault tolerance. It mainly helps to efficiently coordinate tasks/jobs between multiple nodes...
Counting elements has become one of the fundamental processes in many computer systems and infrastructures today. In particular, determining the cardinality, or the number of distinct elements...
Have you ever wondered how large-scale systems like Twitter, Facebook, or Instagram instantly check whether a username...
With the ever-increasing demand and popularity of the web, web services, and cloud computing, distributed systems have gained popularity…
Web server software is a crucial piece of software in today’s world. From traditional Apache servers to modern, sophisticated ones, a few major web server...
Before we delve into what the fork in Linux is, first we have to understand what is a system call in the Linux system. As you already know....
BitMonX Discovery Server (BDS) and BitMonX Discovery Client (BDC) are two NPM packages that i developed to faciliate service discovery feature within a microservice architecture in Node environment. BDS is a server that runs on a central server and BDC is a client that runs on each microservice. BDC registers the microservice with the BDS and BDS keeps track of all the microservices. BDS also comes with the following features providing full capabilities for manages microservices.
My projects makes use of modern technologies and tools to create beautiful and responsive websites, applications, libraries, and games. Here are a few of my projects. Check out my GitHub for more projects
This web app is a simulation of Conway's Game of Life. It is a cellular automaton devised by the British mathematician John Horton Conway in 1970. The game is a zero-player game, meaning that its evolution is determined by its initial state, requiring no further input. One interacts with the Game of Life by creating an initial configuration and observing how it evolves. This is a 2D web based implmentation of the the game of life using Javascript and HTML5 Canvas. Game consists of simple game engine built using purely Javascript and HTML5 Canvas for rendering the game.
PixelStream is a photo streaming platform for photographers and photo enthusiasts. It allows users to upload, share, and view photos from around the world. The platform provides a simple and intuitive interface for users to interact with the photos and photographers they love. Also, it provides a platform for photographers to showcase their work and connect with other photographers, so they can learn and grow together.
BitMonX Discovery Server (BDS) is a server designed to facilitate the discovery of services within a network environment, especially in a multi-service (microservice) setup. It works in tandem with the BitMonX Discovery Client (BDC) which is integrated with the services. BDS is a lightweight discovery server built entirely using Node.js. Once the services are initialized with the BDC client, they can register themselves and connect with the BDS discovery server to both announce their presence and locate other services running on the network.
This is the official website of the MoraUXPlore 2.0 organized by IEEE student branch of University of Moratuwa. The website is built using Node.js for the backend and React.js for the frontend. Also MySql is used for data persistence. The website consists of a landing page and dashboard for the participants to register, view annoucements, ask questions, submit their designs and view the results. The website's backend is hosted on Azure and the frontend is hosted on Netlify.
This is the official website of the SLIoT Challenge 2023 organized by Computer Science & Engineering Department, University of Moratuwa. The website is built using only HTML, CSS and Vanila JavaScript. Also GSAP and lenis libraries used to ptovide smoother use experince and greater animations.
This is a standalone desktop applications that allows users to plot graphs of mathematical functions. The application is built using Java and JavaFX. The application provides a simple and intuitive interface for users to input mathematical functions and plot the graphs. The application also provides features such as zooming, panning, and saving the graphs as images. Also the application is capable of calculating derivatives, intergrals, and roots of the functions. This application is basically built for plot explicit single variable functions and parametric functions.
This is a simple 2D desktop based dam game built using Java and JavaFX as the GUI library. The game is a two player game where each player has 12 pieces. The game is played on a 8x8 board. The game is played by moving the pieces diagonally to the empty squares. The game is won by the player who captures all the opponent's pieces or blocks all the opponent's pieces. The game is built using Java and JavaFX for the GUI. The game consists of a simple game engine built using purely Java and JavaFX for rendering the game.
Contact Me