About Me
Hi, I'm Madhushan. I am Java, .Net and MERN Stack Developer, Software Engineer at DXDY (Private) Limited. 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











Personal Projects

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

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

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

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

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

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

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

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

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)

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

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

Blog
This is a MERN stack pogram with Micro Services Architecture
- impliment services with micro services architecture (evnet-bus handle communication between client, comment, post, and moderation serve)
- use MERN stack
- Docker for impliment services ( Docker Desktop on Windows 11)
- Kubernetes for manage Containers ( Minikube ) --driver=hyperv
- impliment deployments and services ( /infra/k8s/* )
- set NodePort for post service for development /infra/k8s/post-srv.yaml
- set Cluster IP for commnication between pods ( /infra/k8s/* )
- set Loadbalancer using "Ingress-Nginx"
- use dockerhub to handle images
- Skaffold for automate development process ( ./skaffold.yaml )
- Created - 2022
-
Technologies used -
React.js, Node.js, Express, Bootstrap, Docker(Docker Desktop), Kubernetes(Minikube), Ingress-Nginx, dockerhub, Skaffold

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

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