Author name: Maxsi

Welcome to my digital playground! I'm Chathura Sankalpa, a software engineer from Sri Lanka blending tech prowess with a passion for innovation.From exploring new tech to tinkering with personal projects, I'm all about staying ahead in this dynamic field.Join me on this journey of code, creativity, and continuous learning. Let's turn ideas into digital reality together!

Programming Concepts

Learning Oracle Databases as a Java Software Engineer

Oracle Database is a powerful enterprise RDBMS known for its scalability, security, and performance. It supports SQL and PL/SQL for data management and integrates seamlessly with Java applications via JDBC. This blog covers Oracle’s architecture, key features, SQL/PL/SQL basics, NoSQL capabilities, performance optimization, and real-world applications, helping you master its use in software engineering. Let’s dive in!

Projects

Bank Management System

I recently built a Java web application that lets users register, log in, create various account types (savings, fixed, loan) and perform secure transactions. I’ve used servlets and JSPs to create a fluid and user-friendly experience. The use of BigDecimal ensures precise monetary handling while rigorous validations protect against bad input. Directing users to customized views based on their account types creates a tailored experience. This project underscores my ability to handle complex logic and develop robust web applications.

Programming Concepts

Understanding the Role of NPM Packages and the Importance of package.json and package-lock.json in Node.js Development

NPM packages streamline the development process by providing reusable code components that enhance functionality and reduce development time. The package.json file manages project dependencies and metadata, while package-lock.json ensures consistency and stability across different environments. Together, they form a robust system for managing Node.js projects effectively. This excerpt provides a clear understanding of NPM packages and emphasizes the importance of both package.json and package-lock.json in maintaining a reliable development workflow in Node.js applications.

Programming Concepts

Map, Reduce and Filter operations in Arrays – Javascript

Understanding the powerful trio of map, filter, and reduce can transform the way you approach data manipulation in programming. These functional methods allow you to efficiently process arrays, converting complex operations into clean, readable code. In this post, we’ll explore how map transforms data, filter selectively removes elements, and reduce condenses everything into a single result, making data handling both simpler and more elegant

Projects

Eco Fabric Innovator

A simple innovative product prediction application created using Python, Flask, image processing, and machine learning enables users to predict product characteristics from images. The application utilizes Flask for the backend, handling user requests and serving predictions. Image processing techniques preprocess input images, and machine learning models, created using TensorFlow on Google Colab, analyze the data to make predictions. Key features include image upload, real-time predictions, and displaying results. This setup integrates image processing and advanced machine learning to provide accurate and efficient product predictions.

Projects

iOS Health Application

A simple iOS health application created using Swift and UIKit without storyboards allows users to track their fitness activities and health metrics. The app features a user interface coded programmatically in Swift, utilizing UIKit components. Key functionalities include logging workouts, tracking daily steps, monitoring heart rate, and displaying health data in charts. The app leverages Core Data for local storage and HealthKit for integrating with the iOS health ecosystem. This approach provides a flexible, customizable, and efficient way to develop a robust health tracking application.

Projects

Productive Garbage Disposal Application

A Java project for locating garbage bins includes two separate applications: one for drivers and one for people. The driver app helps waste collectors navigate to garbage bins efficiently, using real-time location data to optimize routes. The people app allows users to check the availability of space in nearby bins, helping them decide where to dispose of their waste. Both apps interact with a central database that tracks bin locations and fill levels, providing accurate and timely information for effective waste management and improved service.

Projects

Food Aplication

A simple food application created using API, JavaScript, and React allows users to search for recipes and view detailed information. The application fetches data from a food API, such as recipe names, ingredients, and cooking instructions. Key features include a search bar for querying recipes, a list view for displaying search results, and a detailed view for selected recipes. React handles the user interface, JavaScript manages the application logic, and the API provides the necessary data. This approach ensures a dynamic, responsive, and user-friendly experience for food enthusiasts.

Programming Concepts

Hash Table

A hash table is a fundamental data structure used for efficient data retrieval. It uses a hash function to map keys to specific locations, called buckets, where the corresponding values are stored. Key operations include insertion , deletion , and lookup. Hash tables provide fast access times for these operations, making them ideal for scenarios requiring quick data retrieval. Collisions, where different keys map to the same bucket, are handled using techniques like chaining or open addressing.

Programming Concepts

Linked List

A linked list is a fundamental data structure in computer science where elements, called nodes, are connected via pointers. Each node contains data and a reference to the next node in the sequence. Key operations include insertion (adding nodes), deletion (removing nodes), traversal (accessing each node sequentially), searching (finding a specific node), and checking if the list is empty. Linked lists provide dynamic memory allocation for operations but have slower access times due to sequential traversal.

Scroll to Top