Skip to main content

Crazy Cards Application

You have been asked to develop a web application to allow customers to enter their details and review credit cards that are applicable to their credit status.

Different people have different credit statuses based on personal characteristics including their financial history, earnings, where they live, employment status and so on. The individuals credit status, or score, dictates which cards are available to a user.

This application will be a simplified version of this real world scenario.

Description

  • The user should submit their details via a form.

  • The application should then return a filtered list of cards available to that user; use the rules outlined at the end of this document to decide whether a particular card is available.

  • The user should be allowed to select one or more of the returned cards and see the details for the cards selected.

  • When multiple cards are selected, the total amount of credit available to the user on those cards should be displayed.

What we expect

Beyond meeting the spec outlined above, we would like to see a solution which demonstrates the following:

  • Familiarity with React and the use of components

  • Extensible logic (e.g. resilient to addition of cards and/or card availability rules)

  • Good application architecture

  • A sensible approach to testing

Brownie points for:

  • Responsive web design

  • Mock endpoints

  • Hand-rolled server configuration

Available cards

Student Life

Apr: 18.9%

Balance Transfer Offer Duration: 0 months

Purchase Offer Duration: 6 Months

Credit Available: £1200

The Student Life credit card is only available to customers with an employment status of Student.

Anywhere Card

Apr: 33.9%

Balance Transfer Offer Duration: 0 months

Purchase Offer Duration: 0 Months

Credit Available: £300

The anywhere card is available to anyone anywhere.

Liquid Card

Apr: 33.9%

Balance Transfer Offer Duration: 12 months

Purchase Offer Duration: 6 Months

Credit Available: £3000

The Liquid card is a card available to customers who have an income of more than £16000.

Customers examples

Here is a list of users which can be used as test cases. If the application is successful it should return the cards indicated for each user.

Mr. Ollie Murphree

01/07/1970

Full time

Annual income: £34000

House number: 700

Postcode: BS14 9PR

Eligible for:

  • Anywhere Card

  • Liquid Card

Miss Elizabeth Edmundson

29/06/1984

Student

Annual income: £17000

House number: 177

Postcode: PH12 8UW

Eligible for:

  • Anywhere Card

  • Liquid Card

  • Student Card

Mr. Trevor Rieck

07/09/1990

Part time

Annual income: £15000

House number: 343

Postcode: TS25 2NF

Eligible for:

  • Anywhere Card

We're on a mission to help everyone move their finances forward and gain financial momentum.


TotallyMoney is an independent credit broker, not a lender. Our comparison service works with most leading lenders, covering the majority of the market. Though we may be paid a fee by lenders or brokers this never influences how our products are ranked.

We don't provide financial advice. Product information is obtained from independent sources and rates displayed may vary depending on your personal circumstances. While we make every effort to ensure that information is up to date, you should always confirm the terms of the offer with the product provider.

TotallyMoney is owned and operated by TotallyMoney Limited which is registered in England and Wales (Company Registration Number 06205695). TotallyMoney Limited is an Appointed Representative of TM Connect Limited, which is registered in England and Wales (Company Registration Number 06967012) and authorised and regulated by the Financial Conduct Authority in respect of consumer credit related activities (FCA FRN: 511936). Trading Address and Registered Office: Chapter House, 16 Brunswick Place, London N1 6DZ. Credit is available, subject to status, only to UK residents aged 18 or over.

We use cookies as described in our Cookie Policy. Continue browsing or click to accept.