DEV Community

Victor Chigbo
Victor Chigbo

Posted on

Java ATM CLI Dev Log #3: VTU Features

Building this feature, was easy to say the least.

The volume of code to write was much but with the help of Gemini (via Gemini Code Assist), I was able to write everything out. One thing I did which I didn't like is how I hardcoded the airtime plans and data plans into the code. I did it because I want it to work first, and now it is working, what I will do now is to put the VTU plans into the database and retrieve them when needed. That's how it's done.

While running the code, I noticed a UX flaw: Each time I finish using a service and I want to use another one, after selecting it, I'll have to put my PIN back again.

UX Flaw showing request to put PIN again after using a service

As you can see, after withdrawing money from Jane Doe's account, I decided to buy airtime, but when I selected 'Recharge Airtime/Data', I was asked to put in my PIN number again. That is bad UX (user experience). Before I go ahead to implement any other feature, I will make sure to fix this issue.

The one thing in my mind that I want to learn while building this project is caching. This is simply storing data in a temporary place in the application so that I can access it faster without going to retrieve it from the database every single time. Knowing how to cache data will help me to build more efficient applications wherever I find myself. With time, I will get to learn this and update you as well.

If you want to check out the GitHub repo, you can click here and see it for yourself. Well, that's it for now.

Until the next commit, bye 👋

Top comments (0)