Giter VIP home page Giter VIP logo

frontend-take-home-assignment's Introduction

Origin Frontend Take-Home Assignment

IMPORTANT: you can choose any technology stack to implement this assignment. Using our stack is not a requirement in the selection process - we will consider exclusively the quality of your project (technology and product-wise) to evaluate your work. We've added a project structure in this repository (a buildwith react, redux, jest, styled-components and typescript) to save you time if you want to use it. If you prefer another stack, feel free to use it.

Origin is a platform that helps our customers' employees put their financial lives on track.

One key to financial well-being is planning & saving for your goals. Users can have many saving goals (e.g. go to college or throw a wedding party) and it is our job to help them accomplish it.

You will build a piece of our savings feature by creating the savings plan simulation screen.

The Saving Goal Plan Simulation Screen

Saving Goal Plan Mockup Desktop

You will build a screen where the user will simulate saving towards the "Buy a house" savings goal. In it, the users choose (i) the value they want to save and (ii) the date they plan to reach the goal.

When the users change the value of any of the inputs, the monthly deposit value is calculated and displayed to them.

Development Instructions

Evaluation

Be aware that Origin will mainly take into consideration the following evaluation criteria:

  • How close your page is to the mockups, both on mobile & desktop;
  • How clean and organized your code is;
  • How good your automated tests are, i.e.: qualitative over quantitative (in case of usage of this base project, feel free to choose between jest or testing library);
  • If you implemented the business rules correctly.

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.

Money input

The money input component should:

  • Allow only numbers
  • Display the value formatted as money (e.g 3500.45 should be 3,500.45)
  • We recommend you name this input as "amount"

Date input

The date input component should:

  • Allow only future months
  • When clicking on the arrow buttons it should go up and down month by month
  • On focused, the users should be able to move the months by typing the Left and Right arrow key on the keyboard
  • We recommend you name this input as "reachDate"

Confirm button

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

Delivery Instructions

Don't create a fork, send us the link to your repository and make sure to make it public.

Usage

This project requires the latest LTS version of NodeJS and you may need to install the yarn as global dependency

npm install -g yarn

After you have cloned this repo and install the yarn, install the dependencies with:

yarn install

You can then start the application running:

yarn start

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

Linting and Format

yarn lint
yarn format

Testing

yarn test

frontend-take-home-assignment's People

Contributors

dependabot[bot] avatar joaodepaula avatar jotarenan avatar matheuspoleza avatar thiagosalvatore avatar vagfsantos avatar wrenzi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  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.