Routine App Prototype Backend

This document outlines the structure and implementation of the dev.algo.routine full stack application backend. Specifically, this document addresses how to build and test the monolithic application backend using SpringBoot. Initial Prototype Backend Backend Setup Set up Spring Boot project Configure PostgreSQL database Setting up a robust database is crucial for the application. Read more…

Routine App Architecture

This post details the architecture of the Routine App, starting from the goals, and diving into the tech stack, development stages and strategies to ensure the project can be implemented with high-quality standards. Project Overview Goals Showcase abilities in Java, Cloud, and TypeScript. Build a minimal app with low code, Read more…

Routine App Case Study

The Routine App is an ambitious project aimed at creating a productivity tool while showcasing advanced software development skills. This article outlines the primary goals, and key features of the Routine App, setting the foundation for the entire development process. This case study will take you through the entire process Read more…

API Gateway

This article aims to provide a comprehensive understanding of API Gateways, their benefits, and practical implementation strategies, with a focus on Java-based solutions. Introduction An API Gateway is an abstraction layer representing a single entry-point for a system providing multiple services. In the world of microservices and distributed systems, API Read more…

Binary Search

Binary search is an algorithm to find the position of a target value within a sorted array by recursively halving the number of candidates. Assuming we have a sorted array with n elements, we can binary search a target element in logarithmic time, O(log(n)).  Binary Search Algorithm To perform a Read more…

Java Type erasure

Java type erasure You can work with java generics, but still, don’t understand type erasure? Let’s look at this example: The generic T is to perform type check at compile-time. To implement this generic, the compiler will: replace the T parameter with the bound classes or Object insert type casts to Read more…

Spring Web App Banking Example

This article shows how to quickly build a web application using the Spring Tools Suite. For this tutorial, I use Spring Tools 4 for Eclipse, where I initialize projects using Eclipse wizards. Spring Boot Web Application Spring has a lot of components, and SpringBoot is a convention over configuration approach Read more…

Java Array Exercises

This article contains a series of exercises on java arrays, including resizing array implementation, merging sorted arrays, etc.. Resizing-array implementation A Java ArrayList is a resizable-array implementation of the List interface providing amortized-time for insertion of O(1). Exercise: implement a ResizingArray class providing O(1) amortized-time for insertion. Growing the array Read more…