Coder Social home page Coder Social logo

react-app's Introduction

Welcome BITS Candidates

If you're reading this, you've passed your interview, so Congrats! Now its time to show us that you can code and can fill the backend position available.

   


Preparing The Environment


You need to install docker and docker-compose before you begin working:

Once the installation is complete, open up a command line or a terminal and run:

docker-compose up

The first time you run this command, building the environment can take a few minutes.

That's it. Just Access http://localhost:5001 in your browser.

   


The Task


Loan Plan Mockup Desktop You will build a screen where the user wants to apply for a loan, but before they do that, they want to know how much interest and the monthly installments will be for their loan

In the screen, you will build a calculator in which, the users choose (i) the loan type they want to apply for, (ii) the amount they want to apply for, (iii) and the number of months to repay the loan.

When the users changes the value of any of the inputs, the monthly installment value, the interest value and the total loan amount is calculated and displayed to them.

Assets

You can find the layout mockups here on our Figma project: Layout mockups

Once you have opened the link you must sign up and log in so you can have access to the colors, fonts, margins and assets information.

Products

The products component should:

  • Be fetched from /products.json. Each product definition is as follows:
    {
        "id": "product id",
        "interest": "The rate of interest",
        "namr": "Product name",
        "min_amount": "Minimum amount allowed to be loaned",
        "max_amount": "Max amount allowed to be loaned",
        "min_tenure": "Minimum number of months allowed",
        "max_tenure": "Maximum number of months allowed",
        "image": "Image to use as the icon"
    }
  • Each product should be displayed using the product.image property
  • When a product is changed, reset the loan and months to their respective minimums

Loan Amount input

The money input component should:

  • Allow only numbers
  • Display the value formatted as money (e.g 3500.45 should be 3,500.44)
  • Respect the min and max amounts of the selected product

Months input

The month input component should:

  • Allow only numbers
  • When clicking on the arrow buttons it should go up and down by one
  • On focused, the users should be able to increase/decrease by typing the Up and Down arrow key on the keyboard respectively
  • Respect the min and max tenure properties of the selected product

Description & Details

  • When the Amount or months changes perform the following calculation to get the total amount:
total amount = loan amount + (loan amount * product interest)
monthly installment = total amount / # months
target month = current month + # months

Confirm button

You don't need to add any action on the confirmation button

   

What will I be assessed on


  1. If your code works
  2. Your application structure
  3. How close your page is to the mockups, both on mobile & desktop
  4. How clean and organized your code is
  5. How long it took you to complete the task

   


Questions


You can share any question/concern you have on teams. Not all your questions maybe answered, sometimes you may have to assume and justify your decisions.

   

Good Luck!

react-app's People

Contributors

younessdev9 avatar nnneshhh avatar

Stargazers

Roman avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.