Develop the API (CRUD Wallet, Transaction)

Overview With all the setup done, let’s focus on making our app. The main purpose of the app is to let the user track their income and expenses. You’ve probably come through apps like this many times. We can spend the whole day listing all possible features an app like this can have. However, for … Read more

Setup MongoDB, HAProxy for Local Development

Overview In the previous post, we tested the Auth0 integration with both the backend and frontend application and could call the backend API with tokens obtained from the frontend. In this post, we continue with the infrastructure setup using Docker. First, we are going to get MongoDB up and running. Second, we will set up … Read more

DoubleConsumer vs Consumer

Overview One of the biggest questions I have when studying the functional interfaces in java.util.function is why the creators made DoubleConsumer (LongConsumer, IntConsumer) while there is already a Consumer interface that can handle any kind of object. It turned out, they have solid reason to do so. Boxing, unboxing, autoboxing primer As you may already … Read more

Java Consumer Functional Interface Tutorial

Overview In Java functional programming, Consumers are incredibly versatile and valuable, particularly when it comes to performing actions on data without returning values. Why use Consumers? Here are the main reasons using Consumers is beneficial to your code: Simplifying Side Effects You may hear or read somewhere that in functional programming, side effects should be … Read more

Java Predicate & BiPredicate Tutorial

Overview The predicate interfaces in the java.util.function package return a boolean given one or some arguments. The primary purpose of the Predicate interface is to simplify the task of evaluating conditions or tests within your Java applications. It abstracts the process of writing conditional statements and allows you to represent complex conditions as reusable, composable … Read more