Home Assignment

This assignment will be similar to what you will be doing in your daily task. As a mobile developer, you will be creating new features by working with the various stakeholders to deliver great user experience to our customers.

In your day to day work, you will be liaising with the various departments, from backend to product owners to understand the requirements, refine stories and deliver what is needed in scrum sprints.

In this assignment, the backend, a server running on GCP, is already setup and you will just need to deliver the UI portion of it by consuming the APIs we provided. Please build this project with one of the following

  • Swift
  • Kotlin / Java
  • ReactJS, Single-Page-Application (SPA) - Focus on Mobile Web

We have also provided wireframes for your reference but please feel free to amend it as you see fit and we can walkthrough your ideas during your follow up interview. Your project should utilise the APIs we provided and we will evaluate your project based on the following project criteria:

  1. Project runs as expected without crashing
  2. Project cover the main functions (Please use our APIs to create some test data for yourself) :
    • Login
    • Dashboard
  3. Project is covered with unit test. You are free to use any testing library.
  4. Bonus task. (This is where you can make yourself to stand out) :
    • Register
    • Transfer

You are free to use any other libraries that you feel is needed for this project. But we are hoping candidate DO NOT heavily rely on UI library so that we can analyse your coding skills better. Have fun with the project and good luck!

APIs Usage

6 APIs have been provided for you via postman collection

1. POST /login
2. POST /register - bonus task

3. GET /balance
4. GET /transactions

5. GET /payees - bonus task
6. POST /transfer - bonus task

The base url is https://green-thumb-64168.uc.r.appspot.com/

  1. Register a new account via /register
  2. Authenticate the user and retrieve the jwt-token via "/login"
  3. In the subsequence apis call, pass the jwt-token into the header.
  4. To make a transfer via /transfer, pass in the target accountNo you retrieve from /payees
{
    "receipientAccountNo": "[receipient-account-no]",
    "amount": 1000,
    "description": "testing"
}

Download Postman and import the postman collection we provided to find out more APIs usage.

Wireframe

The wireframe is created for your references. You are free to amend it and show us your creativity. register login dashboard transfer

Submission

Push your source code to github and submit the repo link.

Evaluation Criteria

  • The required functions are working:

    • Login
    • Dashboard
  • The bonus challenge has been implemented:

    • Register
    • Make transfer
  • The code is well-designed

    • Function
    • Interaction
  • The UI is sensible and looks good

  • The code isn't more complex than it needs to be

  • Code has appropriate unit tests

    • Tests are well designed
    • Coverage
  • Code is properly documented in README.md