Sign in

Undergraduate in Information Systems at SUSL. I’m a developer, a designer and a content creator.

I’m writing this article to share my internship experience at 99x. According to the curriculum, Sabra CIS undergraduates have to complete their internship in 3rd year 2nd semester. I had been interviewed by 99x and selected as a Trainee Software Engineer to complete my industrial training program.

99x specializes in delivering high-quality Software Product Engineering and Consultancy services to Independent Software Vendors in the global marketplace. The biggest strength that 99x has as a company is great management. …

What is React Query? React Query is a library that gives ReactJS the state management ability for any kind of asynchronous data. According to their official documentation,

React Query is often described as the missing data-fetching library for React, but in more technical terms, it makes fetching, caching, synchronizing and updating server state in your React applications a breeze.

React Query provides us custom hooks like “useQuery” to fetch data. Under the hood, these hooks manage lots of things such as caching data after the initial fetch, re-fetching data in the background, etc.

In this article, I’m going to show…

Shell Script is a program designed to run in the Unix/Linux shell. We can write a particular set of commands as a script and run it to perform some tasks.

We can run Unix/Linux command on Windows, Mac using a Bash (Bash is a command-line interpreter or a shell) like Git Bash or any other program. We can ls to list content in a directory, touch to create files.

Let me tell you the problem I faced. In the project I’m currently working on, I had to create a text area with inline styling functionality. Just like the text editor. So I used a JS package called medium-editor which has everything required in the project.

So, what is the problem? In medium-editor, user inputs are returning in HTML format. As an example, if we type “Hello, World!” in the text area, it will return it as <p>Hello, World!</p> Also, users can drag and drop or copy and paste images to add them. Just like in These images…

Hello everyone, I’m going to show you how to containerize an app using Docker including Docker-compose. I have already created a simple Node application which is an Express server connected with MongoDB. Here’s the git repo. I’m going to explain the process using this project. So it’s better if you clone this project.

Project work-through

In this project, I have created a server and defines some API routes to test the application. You can found them on /routes/api.js. The following image shows the database connection.

The Inversion of Control (IoC) and Dependency Injection (DI) are all about removing dependencies from your code which makes a system more decoupled and maintainable. The main goal of this article is to explain the things above mentioned and what is InversifyJS.

Inversion of Control (IoC)

IoC is a principle. In traditional software development, our code controls the flow. Whenever we need help from a third-party library, we plug them to our code and call them. On the other hand when we use a framework, it does the most of the work. When it’s time to our application logic, framework hand over the control…

Currently I’m working on a project which uses AWS CodePipeline for CI/CD. So this is something new I just learned from my internship at 99X Technology. In this article, I’m going to show you how to create an AWS CodePipeline to deploy a web application.

First of all, what the hell is CI/CD? Following definition is from

Continuous integration (CI) and continuous delivery (CD) embody a culture, set of operating principles, and collection of practices that enable application development teams to deliver code changes more frequently and reliably. The implementation is also known as the CI/CD pipeline.

CI/CD is…

What is Serverless? If you are really new to Serverless, here’s my previous article about Serverless Architecture. Today we are going to create a simple CRUD application using Serverless framework with NodeJS and AWS.

Environment Setup

First of all, let’s install Serverless. To install run the command below.

npm install -g serverless

Now we have to configure our credentials. We can do it by executing the following command.

serverless config credentials --provider aws --key <aws access key> --secret <aws secret key> --profile osusara

So I’m going to use AWS as my provider. When we creating an IAM user in AWS, we can…

Think we are going to deploy an application on AWS. Maybe we need EC2 instances, VPCs, database services such as RDS. Also, services such as Cognito, CloudsWatch. Handling all these manually is time-consuming. If we require a large set of infrastructure, for a complex distributed application, for instance, we find it difficult to configure, bring up and down of resources. Special during the development/testing phases. Also, this manual and repetitive procedure also opens us up to human error.

Here comes Terraform

So what is Terraform? According to HashiCorp’s definition,

Terraform is the infrastructure as code offering from HashiCorp. It is a tool for…

Earlier, software companies and individuals used to buy and manage software and hardware such as data storage, network infrastructure, and servers. These were high responsibilities and required highly skilled teams and individuals for these responsibilities. Then companies started to outsource some of these responsibilities, and cloud technologies came with services such as IaaS, PaaS, and CaaS. These technologies allow companies to do more outsourcing, and it helps to focus more on business logic rather than software and hardware.

In present, we can hear the word serverless very often, which is the next step of evolution. Serverless makes server-side headaches disappear…

Osusara Kammalawatta

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store