Giter VIP home page Giter VIP logo

angular-docker-homework's Introduction

Booking portal exercise

The "Booking portal" is an application with the purpose of creating payment bookings. It consists on a payment form with the following structure:

alt tag

When the form is submitted, the application creates a payment record with the provided information.

This application also has an API consisting of 2 endpoints that are detailed on the Readme.

Please develop a second application, inside the client directory, that communicates with the "booking portal" application in order to accomplish the following:

When a payment is booked, this payment has to go through a "quality check", the purpose of this quality check is to assure that the payment meets some defined "quality" criteria, this criteria consists on the following rules:

  • InvalidEmail: The payment has an invalid email.
  • DuplicatedPayment: The user that booked the payment has already a payment in the system.
  • AmountThreshold: The amount of the payment is bigger than 1.000.000$

The application should show if any of this "quality check" criteria are not met.

Besides "quality check", we also want to check for "over" and "under" payments [1]:

  • An over-payment happens when the user pays more than the tuition amount we introduced in the booking portal.
  • An under-payment is just the opposite.

As in the quality check, we want the application to show if the payment is an "over" or an "underpayment". As a final step, we want to add to the amount some fees depending on the magnitude of the amount, this fees are:

  • if the amount < 1000 USD: 5% fees
  • if the amount > 1000 USD AND < 10000 USD: 3% fees
  • if the amount > 10000 USD: 2% fees

Here you can see an example on how this information could be displayed:

alt tag

Notes

We don't expect changes to be made on the server application. It should be treated as an external application owned by someone else.

How to implement the client application is totally up to you.

You can implement the client application in the programming language of your preference.

angular-docker-homework's People

Contributors

perebueno avatar alvarobp avatar marcoalacot avatar elmendalerenda avatar

Watchers

James Cloos 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.