Tech stack to be used: MicroService using Spring Boot with Java
Application Requirements:
Service should expose a Rest API to accept money transfers to other accounts. Money transfers should persist new balance of accounts
Service should expose a Rest API for getting the account details. You can disregard currencies at this time
Points to consider:
Keep the design simple and to the point. Should be scalable for adding new features
The datastore should run in-memory for the tests
Proper unit testing and decent coverage is a must
Upload the code to a repository
Disregard Currency or Rate Conversion
Improvise where details are not provide
Proper handling of concurrent transactions for the accounts
Documentation of API
Use Etag for optimistic locking. Need it urgent by end of day today
I have worked on JAVA SpringBoot in industry and that's how I know the best industry practice for spring boot. I'm a undergraduate from MNNIT, one of the best college in India.