Hi, I'm Madhushan Karunachandra

Software Engineer

About Me

Hi, I'm Madhushan. I am Java, .Net and MERN Stack Developer, Associate Software Engineer at Azend Technologies (Private) Limited, 4th year Undergraduate, who follows the BSc (Hons) in Software Engineering Degree Program at Sri Lanka Technological Campus. I am really passionate about the Software Engineering field and working in a competitive and innovative environment that would allow me to utilize and sharpen my programming and software development skills.

Download CV   

Skills

Java logo Quarkus logo Spring logo Hibernate logo c# logo .Net logo Node.js Expressjs logo react logo Angular logo TypeScript logo jQuery logo PHP logo HTML logo Tailwindcss logo Bootstrap logo MySQL logo Postgresql logo SQL Server logo mongoDB logo docker logo kubernetes logo aws logo heroku logo firebase logo netlify logo keycloak logo git logo

Personal Projects

Hotel Reservation System Architecture diagram

Hotel Reservation System

This is a Hotel Reservation System created by MERN stack and used Micro Services Architecture to develop this system

  • Micro Services Architecture
  • MVC model for develop each service
  • Mono Repos for manage the projects
  • MERN stack for development (TypeScript backend)
  • NATS Streaming Server (Event Bus) for event handling
  • Ingress-Nginx as Ingress Controller and Load balancer
  • Skaffold for automate development
  • publish npm package as shared library for the project
  • Use docker hub for image publish
  • bull.js for handle expiration service
  • use Redis Server for expiration service
  • use mongoDB as a database
  • use docker for containerized the each service
  • kubernetes for manage containers
  • use Google kubernetes engine for host micro services and use it as a development cluster and then convert to production cluster
  • Default error handling
  • Backend validation
  • Authentication and Autherization (JWT token, email verifications)
  • Configure a domain for backend cluster
  • Configure a SSL certificate to server through ingress-nginx
  • Front end hosted on Vercel
  • Created -  2023
  • Technologies used -  

    Micro Services Architecture, MVC model, MERN stack, TypeScript, Bull.js, redis, mongoDB, Docker, Docker hub, Kubernetes, Google Cloud Kubernetes Engine, NATS Streaming Server, Ingress-Nginx, Skaffold, Mono repos, postman, minikube, Docker Desktop, Publish NPM package, yarn

View on GitHub
chatchopMain interface

Web Chat App

This is a web-based chat application (ChatChops)

  • Login and Registration
  • Private chat rooms
  • Private group chat
  • Public chat rooms
  • Send friend requests, remove friends
  • Email verifications
  • Admin Dashboard for analyzing data
  • Generate reports as tables and plots
  • Profile edit section
  • Created -  2021
  • Technologies used -  

    HTML, CSS, Bootstrap, JavaScript, PHP, jQuery, Ajax, MySQL, R (dygraphs, RMySQL), Ratchet, PHPMailer

View on GitHub
Bidding System interface

Bidding System

This is a Bidding System created by Java (with Java Networking Programming) and used Client-Server Architecture and Publisher-Subscriber Architecture to handle core operations. All operations are handled by the central server.

  • Login and Registration
  • The server can handle multiple users
  • Bidding time can be set when starting the bidding
  • Client-Server Architecture
    • Companies can publish items and edit items' details
    • Clients can bid on items
    • Both users can view the list of the current items
    • Both users can subscribe to items
    • Both users can view the details of subscribed items
  • Publisher-Subscriber Architecture
    • Reserve subscribed items bid update notifications
    • Notifications about added new items
  • Created -  2021
  • Technologies used -  

    Java (With Java network programming), Java Swing, Client-Server and Publisher-Subscriber Architectures

View on GitHub
chatchopMain interface

Ceylon Tea Cloud

This is a cloud-based service platform that will be implemented to make the connection comfortable between the tea factories in Sri Lanka and their growers.

  • Generating monthly, weekly reports
  • Send reports to the corresponding grower
  • Generating requesting letters (loans, fertilizer, tea packets, etc.) and send to the factory admins
  • Send notifications about pending and confirmed requesting letters etc
  • Created -  2022

  • Technologies used -  

    HTML, CSS, Javascript, PHP, Bootstrap, MySQL

View on GitHub
crown cloth homepage

Mege Clothing

This is an Ecommerce Site

  • created using React.js
  • Authentication with Firebase
  • used Firestore as a Database
  • Deploy with netlify : Hosted URL
  • used styled components
  • Context for global state handling
  • React router v6
  • migrate context to redux store (v1)
  • redux-persist for cashing
  • use redux thunk (v2)
  • use redex-saga (v3)
  • add stripe payments
  • add serverless function for payments (using netlify serverless functions)
  • used type script (v4)
  • test memo, lazy reload
  • Created -  2023

  • Technologies used -  

    react.js, JavasSript. TypeScript, google firebase authentication and Firestore, styled-components, netlify, react-router-dom(v6), Stripe, Redux, Redux thuck, Redux Saga

View on GitHub
ticket-hub-architecture.png

Test .Net Micro Service

This is a Test .Net Micro Service App

  • Micro Service Architecture
  • Each RESTfull API use MVC architecture
  • Based on .Net, Sql Server
  • RabbitMQ as event bus
  • Http Sync client
  • gRPC Sync Server and Client
  • Docker for impliment services (Docker Desktop on Windows 11 )
  • Kubernetes for manage Containers
  • set Cluster IP for commnication between pods
  • set API GateWay using "Ingress-Nginx"
  • Node Port and Loadbalancer for development
  • use dockerhub to handle images
  • Created -  2023

  • Technologies used -  

    .Net, RabbitMQ, Ingress-Nginx, gRpc, Docker, Kubernetes, SQL Server

View on GitHub
ticket-hub-architecture.png

Ticket Hub

This is a application based on Micro Services Architecture (On going)

  • Micro Service Architecture
  • Each RESTfull API use MVC architecture
  • Based on TypeScript, Node.js, Express, mongoDB
  • Docker for impliment services (Docker Desktop on Windows 11 )
  • Kubernetes for manage Containers ( Minikube )
  • impliment deployments and services (/infra/k8s/*)
  • set Cluster IP for commnication between pods (/infra/k8s/*)
  • set Loadbalancer using "Ingress-Nginx"
  • use dockerhub to handle images
  • use mongo image from dockerhub to impliment mongodb
  • Skaffold for automate development process (./skaffold.yaml)
  • create and publish shared library [@tickethub-kv/common]
  • Distribute Credentials Securely Using Secrets in kubernetes cluster
  • Server Side Rendering with Next.js
  • Error Handling
  • Backend Validation
  • Authentication and Authorization
  • Testing with jest, ts-jest, supertest and mongodb-memory-server
  • For More Details about each service See README.md
  • Created -  2022

  • Technologies used -  

    Node.js, Express, mongoDB, TypeScript, JavaScript, React.js, Next.js, TailwindCss

View on GitHub
place expert interface

Place Experts

This is an application that can be used to add and find places to travel. (MERN Stack)

  • Authentication and Authorization
  • Find, Add, Edit, Delete Places
  • Image uploading
  • Show Places in Google Map
  • Share Places
  • Connect backend using fetch API
  • Frontend hosted in Firebase : Hosted URL
  • Backend with Node.js and Express : Github URL
  • Created -  2022

  • Technologies used -  

    React.js, Tailwind CSS, Google Map API, HTML, CSS, JavaScript

View on GitHub
chatchopMain interface

Place Experts API

This is an Rest API of the Place Experts Application. (MERN Stack)

  • Authentication and Authorization
  • Find, Add, Edit, Delete Places
  • Image uploading
  • Find Location using Google Geocoding API
  • mongoDB connection
  • MVC Model
  • Input validation
  • Error Handling
  • API hosted in Heroku : Hosted URL
  • DB hosted in mongoDB Atlas
  • Front-end with React.js : Github URL
  • Created -  2022

  • Technologies used -  

    JavaScript, Node.js, mongoDB, Google Geocoding API, (npm packages :- express, body-parser, dotenv, axios, bcrypt, express-validator, jsonwebtoken, mongoose, mongoose-unique-validator, multer, uuid)

View on GitHub
smart parking interface

Mega Media

This is a smart car parking system based on IoT and cloud technologies.

  • Capture parking slot status from Ultrasonic sensors.
  • Upload real-time parking slot status data to Firebase through NodeMCU.
  • This system hosted in Heroku and DB hosted in mongoDB(Atlas)
  • Display parking slot status through the dashboard.
  • Tracking packing data and display logs.
  • Authentication.
  • New vehicles and user registration.
  • Employee side: Github Link
  • Admin side: Github Link
  • Backend: Github Link
  • Created -  2022

  • Technologies used -  

    React.js, Node.js, Express, mongoDB, HTML, CSS, TailwindCss, Javascript

View on GitHub
bloag architecture diagram

Sample Micro Front end

This is a sample application with Micro Front end Architecture

  • impliment services with micro front end architecture
  • Use monoripos
  • use webpack
  • module federation
  • implement CD pipeline using github action and workflows
  • hosted in s3 bucket and distribute through cloud front
  • routing with browser history and memory history
  • hosted link
  • Created -  2023

  • Technologies used -  

    React.js, webpack

View on GitHub
bloag architecture diagram

Blog

This is a MERN stack pogram with Micro Services Architecture

  • Created -  2022

  • Technologies used -  

    React.js, Node.js, Express, Bootstrap, Docker(Docker Desktop), Kubernetes(Minikube), Ingress-Nginx, dockerhub, Skaffold

View on GitHub
chatchopMain interface

Vehicle Renting System

This is vehical Renting system dashboard for handle users of the system

  • Authentication
  • Add, Delete, Update and Searchig features
  • Created -  2020

  • Technologies used -  

    Java, Java Swing, JDBC, MySQL

View on GitHub
chatchopMain interface

Hotel Reservation

This is an hotel reservation system (On going project with MERN Stack)

  • Dashboard
  • Login and Registration
  • Created -  2022

  • Technologies used -  

    React.js, Tailwind CSS, CSS, JavaScript

View on GitHub
Test Gatsby Blog Site
Mini Midi Music Player
TypeScript Map

Contact Me

Send Me An Email