01 Feb Write a spring boot APIs that each serve a given BIAN Service Domain. The data that the APIs exposed are sourced from Systems
Write a spring boot APIs that each serve a given BIAN Service Domain. The data that the APIs
exposed are sourced from Systems of Record to produce a realtime feed through Kafka. Our APIs are
either written on top of Kafka topics directly using Event Sourcing or we use the traditional approach
of sinking our data from Kafka to a database and write our API on top of the databases.
The purpose of this challenge is to have you work through a problem where the expectation is for you
to produce an API. We have specifically opted to make the problem statement as generic as possible
to allow you to:
The ONLY requirement is that this API MUST BE WRITTEN USING THE SPRING BOOT
FRAMEWORK.
Problem Statement
The Data Feeds
Let’s assume you have the two following data feeds:
Feed 1: The balances
This is a data feed, where each event represents a single balance update for a given account.
A single record looks like this
{"accountNumber": "abc", "lastUpdateTimestamp": "2020-01-01T01:02:03.8Z", "balance": 89.1}
Feed 2: The transactions
This is a data feed representing transactions that are occuring. Each record will be a single transaction
at the bank. Keep in mind that there are two types of transactions: 1. DEPOSIT and 2. WITHDRAW.
A single record looks like this
For a DEPOSIT:
{"accountNumber": "abc", "transactionTs": "2020-01-03T01:02:03.8Z", "type": "DEPOSIT", "amount": 89.1}
Or a WITHDRAW
{"accountNumber": "abc", "transactionTs": "2020-01-03T01:02:03.8Z", "type": "WITHDRAW", "amount": 89.1}
The API [ the actual meat of the assignment 😉 ]
Please write an API that can serve the following queries:
1. Given an accountNumber, return the latest balance.
2. Given an accountNumber and a time range such as: Today, Last 7 days, last Month and the
more general case of a range between date X and date Y. For example, I should be able to ask for all
my transactions between January 8th, 2019 and November 28th, 2020.
3. Repeat 2, but filter for type. I.E. Show me transactions with type WITHDRAW.
Some hints:
1. Make sure that any technical choice you are making is backed up by good reasoning. Meaning,
if you decide to go with event sourcing? Why? If you choose to use a noSQL datbase? Why?
2. Make reasonable assumptions about the problem. If any extra detail is left out, just ride the
wave and make assumptions. There are no wrong answers here.
Our website has a team of professional writers who can help you write any of your homework. They will write your papers from scratch. We also have a team of editors just to make sure all papers are of HIGH QUALITY & PLAGIARISM FREE. To make an Order you only need to click Ask A Question and we will direct you to our Order Page at WriteDemy. Then fill Our Order Form with all your assignment instructions. Select your deadline and pay for your paper. You will get it few hours before your set deadline.
Fill in all the assignment paper details that are required in the order form with the standard information being the page count, deadline, academic level and type of paper. It is advisable to have this information at hand so that you can quickly fill in the necessary information needed in the form for the essay writer to be immediately assigned to your writing project. Make payment for the custom essay order to enable us to assign a suitable writer to your order. Payments are made through Paypal on a secured billing page. Finally, sit back and relax.