Giter VIP home page Giter VIP logo

fe-graduate-interview's People

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Forkers

kajas90

fe-graduate-interview's Issues

[FEATURE] Add in the currency conversion rates list with dropdown

Description

Add in the currency conversions rates list with a dropdown to select the current active currency. Selecting a current active currency should show the relative rates for that currency.

Two APIs are available to be able to complete this: /rates
/currencies

Acceptance Criteria

Given... The application is running
And... The rates request is functioning
And... The currencies request is functioning
When... I select a currency from the dropdown
Then... The the list below should update with the other currencies and their exchange rate

Assets

image

[FEATURE] Add the ability to swap the currencies between to/from

Description

Add the ability to swap the currencies between to/from, so that a user can quickly swap between the two values.

Acceptance Criteria

Given... The application is running
And... The currencies/rates requests are functioning
When... I select a button to swap the to/from values
Then... The currency and rate values in the in the inputs are swapped

Assets

image

[BUG] When API is not running, the UI fails to load

Description

When the API is not running and I open the application, there is an error shown

Steps to Reproduce

  • Run the app without starting the API
  • See that there is an error

Expected Behaviour

When running the app but there is no API, there should be a graceful handling of this scenario

[Feature] Extend Input component

Description

We want the ability to use the Input component to give more feedback to the user

Acceptance Criteria

Given... That I have have focused on the input component
Then... I want to show a blue border on the input

Given... That I have an Input is in an invalid state
Then... I want to show an error message underneath the Input
And... I want the border of the Input to be red
And... I want the Input to still be blue when the input is focused

Given... That I have an Input that needs a help message
Then... I want to show an help message underneath the Input

Given... That I have entered a currency in to an input
Then... If it is a valid currency
Then... I want the currency symbol to show in the left of the input

Assets

Screenshot 2021-11-04 at 13 37 02

Screenshot 2021-11-04 at 13 37 39

Screenshot 2021-11-04 at 13 47 48

[Feature] Real time exchange rates

Description

Given that I have the ability to select a currency from a dropdown and see the exchange rates for other currencies I want to refresh the rates every 30 seconds to make sure the data is correct. When the data is refreshed I want a visual indicator informing me what happened with the rate. If the rate goes up I want the price to flash green. If the rate goes down I want the price to flash red.

Two APIs are available to be able to complete this:

  • /rates
  • /currencies

AC's

When... I select a currency from the dropdown

Then... The the list below should update with the other currencies and their exchange rate
Then... After 30 seconds the list should refresh with updates exchange rates
And... If the exchange rate has gone up the price should flash green
And... If the exchange rate has gone down the price should flash red

Assets

Screenshot 2021-11-08 at 09 28 20

Screenshot 2021-11-08 at 09 28 26

[FEATURE] Integrate "/convert" API into conversion UI

Description

Add the ability to complete the conversion of one currency to another for a specific amount.

The API already exists for this and can be accessed at: /convert

Acceptance Criteria

Given... The application is running
And... The convert request is functioning
When... I add in a valid currency code as the "From" value
And... I add in a valid currency code as the "To" value
And... I add in a valid amount
Then... The currency conversion button should be enabled
And... When clicked, the /convert API should be called with the entered values, with the result outputted into the UI

Stretch Goal

Add handling of non-valid currency codes via some form of UI elements

Assets

image

[BUG] Search input generates an error when a non-valid currency code is used

Description

When a non-valid currency code value is entered into the currency search input, the screen shows an error.

Steps to Reproduce

  • Navigate to the app
  • In the currency search input, type in "AAA"
  • See that there is an error

Expected Behaviour

When typing into the search input with a non-valid value, there should be some nicer handle (error message?) of the outcome.

[Feature] Save history of conversions

Desciption

When a user converts an amount of currency we want to save that as a snapshot so that we have the historical conversions. When a user comes back to their history such as in a new session we want to load the history. This can be saved locally (local storage).

Acceptance Criteria

Given... That I convert a currency
Then... I want that conversion to be saved. Amount, from + to currency, rate, date.
Then... I when I come back to the app I can see my historical conversions

Strech Goal

When I convert a currency I want my historical list to update right away

Assets

Screenshot 2021-11-04 at 14 04 03

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.