Back to Home

Software Projects

This page is on update
oop

Log Tracker System

  1. frontend - react, backend - nodejs with ts, cloud - aws(s3, lambda, dynamodb, iam, sam, api-gateway)
  2. test get and post requests. backend specialties:
    1. append all the logs from post api in a minute into one log file
    2. handle concurrent same post requests in same time using dynamodb locking - check this functionality using java program
    3. handle get request speed by concurrent promise array.
    4. apply solid properties and design patterns
  3. frontend specialities:
    1. log groups: left, right, up, down, click
    2. filter by username
    3. get logs according to the date and to/from timestamps
  4. handling time critical atomic operations in AWS lambda, handling time consuming operations in AWS lambda

Social Media Platform

  1. Used Angular CLI frontend, Spring Boot and solidity backends using microservices and docker and security concerns such as jwt usage, save passwords using sha algorithms.
  2. MySQL backend, JWT verification, REST APIs, and converted passwords into a sha value using sha256 algorithm.
  3. used couple of pages in UI:
    1. Main wall to preview posts and add posts
    2. Timeline page to view all the activity time descending
    3. Add friends, used facebook add friend logic (not twitter, insta following logic)
    4. Pages and Groups
    5. Games page, calling free game apis
    6. Login using google, microsoft and apple
    7. Add NFT integration for each post creation
  4. Backend configurations to handle pages,
    1. JWT verification
    2. Entities: User, Friend, Post, Page, Group, Game, so on.
    3. Configured MySQL DDL statements using spring boot inbuild ORM.
    4. Use microservices and docker to deal with both spring boot and solidity backends.
  5. Web 3.0 logics for NFT handling.

SOLID
Devops

Bank Managing system

  1. Frontend with Angular CLI, backend: NodeJS, database: MySQL.
  2. My semester 3 project. Which was specially focused on MySQL events, views, functions, prepared statements and queries.
  3. Applied security like JWT, prepared statements, backend transactions, ACID properties for database-backend interaction.
  4. 3 separate UIs for bank manager, Employer and Customer

Student Summary Evaluation System

  1. Our group data science engineering project for the fifth semester. Chamil Gamage and Dan Niles made up my team. In essence, we had to create two dashboards for professors and students. On the student dashboard, students could write summaries of texts and topics they were assigned. Once they submitted their summaries, they could examine their own marks, which were based on two scores: content and wording. The teacher has access to all of the student scores for each type of assignment and can use tables and dashboards to visualize organized data.
  2. Whole full stack project is combined with machine learning models related to natural language processing (deBERTa and LightGBM)
  3. frontend was made by react (TS) framework, Authentication with Amplify, Auth0, JWT and Firebase. We added 2 dashboards after user authentication each per student and teacher. We used Django framework with python, because we could easily interact with python code and the machine learning models.
  4. Developing the machine learning solution for this project involved interacting with a Kaggle competition named CommonLit - Evaluate Student Summaries. I also concentrated on the NLP exploratory data analysis during the entire stack development, which was connected to
    1. Get Intuition from the (content, wording) student's summaries
    2. What's correlation btw prompts with the summaries
    3. Content and Wording Distribution
    4. Text Length, How the stop words has affected to the text length and Results
    5. Hidden Details in prompts

Devops
Devops

NFT Marketplace

  1. I build this project when I was following the course: link
  2. Frontend was build using react while I used solidity to create the backend.
  3. Backend basically contains smart contracts such as ERC721, ERC165 and the minting process.
  4. Basic idea of this project to interact with the NFT smart contract minting process.

TODO App

  1. Full stack web application, which frontend made by Angular CLI framework, backend with JavaEE without any framework (because I wanted to familiar with all the tasks done by a java framework such as spring boot.) I used MongoDB as the database.
  2. Logging in to the system allows you to add tasks, check the box next to each task to complete it, remove completed tasks, read the history, and track your progress through the app.

Devops
Devops

Java Desktop POS Application

  1. Java Point-of-Sale (POS) desktop application, integrated into the local computer that communicates with a MySQL database to save information. This is primarily designed for merchants to utilize in their sales records for retail establishments.
  2. The MVC (Model, View, Controller) architecture guides the use of Java. The JavaFX-made user interface is usable for merchants. Through the application, they can store and examine user, item, and order histories. With the integration of Jasper Studio, sellers can print order bills using the appropriate printing device. In addition, consumers can save every item in the system for the convenience of using the application by scanning the QR/ Bar codes on the products.
  3. For the best practices I’ve used best practices in java such as, java threads, date times, environments, exception handles, SOLID principals and ACID properties for the database usage.

Devops

JavaFX Mobile Application

  1. A mobile app which is build using android and JavaFX library. Normally JavaFX is used for the desktop java applications. In here I’ve integrated java with android using Gradle building tool and JavaFX is used.
  2. Normal functionalities such as access android phone camera, saving data in mobile phone using SQLite database.

Email Client (improve by adding a javafx interface)

  1. Second semester project to make the Email Client java app using google email sending SMTP server, interacting with command prompt. Later I build a user interface using JavaFX library.
  2. Applied factory design pattern, threads, global exceptional handling and other features.

Devops
Devops

Mobile app to SQLite Database

3rd semester project to convert an android app which save data in a temporary cache to save data in SQLite database.

FlashGuard Mobile App

  1. This is the mobile application that works with the FlashGuard device that we developed to prevent those patients' photosensitive epilepsies. This idea developed with me and three of my friends when we were preparing to compete in the Microsoft Imagine Cup. More information on the project as a whole is available here.
  2. The main objective of this app is to connect to the FlashGuard IOT device and transfer user data to the Microsoft Azure cloud. In addition, we have implemented a training period for each patient in which we use anomaly detection to fine-tune the FlashGuard device's parameters via mobile applications. We'll use Azure machine learning anomaly detection services for this. More than that, we're employing a generative AI chatbot to analyze input and serve as an assistant.
  3. We’re using Bluetooth low energy (BLE) to connect with the IOT device, and using the mobile app we make able to change the device’s different parameters such as:
    1. Threshold frequency
    2. Threshold of flashing intensity
    3. Threshold area of flashing
    4. Level of darkening
  4. More than these features we’re using couple of services in azure cloud.
  5. The major goal of the entire project is to complete the electronic device and mobile application in a scalable and affordable manner and produce a useful remedy for epilepsies that are photosensitive. We are receiving assistance for this from the University of Colombo's Faculty of Medicine's Physiology Department.

Devops
Devops

Powerstation ROI

  1. This an unsupervised machine learning model to detect best places to make a solar or wind power plant in Sri Lanka.
  2. I made this model during a competition called APAN56 datathon. They gave us unlabled dataset and I basically used K-means clustering and autoencoders for this.

Weather Predictor React App

  1. This is a simple weather predicting app built using React.js. It allows users to search for the current weather conditions in any city. The app uses data from the OpenWeather API and provides information like temperature, humidity, wind speed, and more.
  2. Features
    1. Search by City: Look up the current weather in any city.
    2. Dynamic Backgrounds: Background changes according to weather conditions.
    3. Weather Icons: Visual representations of the current weather.
    4. Gauge Meter: A gauge meter showing temperature range.
    5. Responsive: Works on both desktop and mobile devices.

Devops

YouTube video time splitting and cropping tool (TrimFusion)

  1. TrimFusion is a user-friendly web tool designed to enhance your video viewing experience. With the power to view YouTube videos directly within the interface, users can effortlessly cut and trim videos to their preferred lengths. Download the cropped videos in various formats and enjoy a sleek and intuitive design.
  2. Features:
    1. View YouTube Videos: Embed and watch YouTube videos directly.
    2. Cut and Trim: Customize video lengths with easy-to-use cutting tools.
    3. Download in Various Formats: Save your customized videos in your preferred format.
    4. Open Source: Contribute and help improve TrimFusion.

Devops