Giter Site home page Giter Site logo

finimize-fullstack-dev-challenge's Introduction

Finimize Full-Stack Development Challenge

This repo is intended to be forked and uploaded to your own Github account in order to form the submission for the challenge. Once cloned, it will give you a basic Node server with a React app, so you don't have to spend time writing boilerplate code. Feel free to make any changes you wish - the existing code is purely intended to get you going faster.

Run Instructions

To run the app, cd into the project root directory and run yarn run start (install Yarn here).

There is one basic test written in the client, which you can run by performing cd client and then yarn run test. Any new client tests can be added using Jest.

Mocha has been installed on the server to allow you to create server tests, although none have been written yet.

The Challenge

Create a web-app that shows how much you can expect to make from your savings over time.

The app must satisfy the following Acceptance Criteria (ACs):

  • It should allow the user to vary the initial savings amount, monthly deposit and interest rate through the UI
  • It should display how much the user's initial savings amount will be worth over the next 50 years, to a monthly precision. This should assume that the monthly amount is paid in each month, and the value rises with the interest rate supplied.
  • It should allow the user to select how often interest is paid - either 'Monthly', 'Quarterly' or 'Annually'
  • It should allow the user to optionally select another currency to display the results in. If this is selected, it should convert the results using the latest exchange rate from GBP via a 3rd party API (e.g. Fixer)
  • All calculations must take place server-side, and all monthly projection data should be returned via an endpoint
  • The calculations must be triggered onChange of any input, to give live feedback on the input data. The performance (try the slider) should be reasonable.
  • You should manage app state using Redux (even though it is arguably overkill in this particular case)

Our Guidance

The challenge should not take any more than 2-4 hours. You do not need to complete the challenge in one go.

We are keen to see how much you think is enough, and how much would go into a Minimum Viable Product. As a guide, elegant and simple wins over feature rich every time.

Do you test drive your code? This is something we value - any indicator of BDD/TDD would make us smile.

Although the API might be returning relatively straightforward content, please try and write the API code as if you were building something more complex. We would like to gain an idea of how you would go about structuring API code.

Feel free to make any changes to the UI you see fit.

When you are finished, you should send us a link to the codebase, preferably via git (e.g. github) showing multiple commits, so we can see its evolution.

finimize-fullstack-dev-challenge's People

Contributors

matt-dalton avatar

Watchers

 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.