Jeremy Punsalan

Senior Software Engineer

Software Engineering Manager

Freelancer

Jeremy Punsalan

Senior Software Engineer

Software Engineering Manager

Freelancer

Blog Post

Takehome Challenge #2: Wallet Management

June 13, 2020 Sample work, Takehome Challenges

A microservice application that does the wallet management (can credit and debit accounts and view transactions), as well as add/view/update functions for users and user accounts.

Wallet Microservice

This project is a simple microservice that stores user accounts and does the following:
1. Credit/Debit account

2. View Balance

3. View Transaction History

This service is the basic foundation of accounts management in any domains (banking, online gaming, ewallet, etc).

Problem Statement

Create a service that will act as account management. It should have the following functionalities:
1. Credit/debit account
2. View Balance
3. View Transaction History

High Level Design

Walletmanagement design

The high level design consist of a simple pod that has ingress (load balancer). The client can access the API directly without any authentication.

The design is simple as it is only a microservice application.

Backend: Walletmanagement (Spring Boot Microservice)

walletmanagement service

As this is a simple microservice, all the business logic is residing on this service. You may check the code base on the different services and logic that we provided for this wallet service can be run.

Database Tables

wallet db

GITHUB LINKS

DOCKER HUB REPO

LIVE APPLICATION

Please email me (me@jeremypunsalan.com) if you want to see the live application, currently it is stopped in my GKE cluster since I am using a free tier account).

Thank you for visiting my site! Feel free to comment on this post.
If you have questions, you may comment or email me at me@jeremypunsalan.com.

Write a comment