Giter Club home page Giter Club logo

check_balance's Introduction

CHECK BALANCE

Write a web application to compute the balance of a currency account given a series of transactions

Run it locally

Requirements:

  • Users must be able to log in using an email/username password combination

  • After logging in, users are presented with a list of transactions and a form to enter a transaction in the system. Each transaction is defined by the following attributes:

    • Description

    • amount withdrawn

    • amount deposited

    • account balance after the transaction

  • The form should allow the user to enter just the description and the amount withdrawn/deposited, the balance will be computed by the backend.

  • After a transaction is entered, it must be sent to the backend. The backend must accept that transaction, store it and compute the balance of the user's account, given the transaction it received and the previous transactions it has stored. Each account starts with balance 0.

  • After the backend processes the new transaction, the list should update and display the new transaction alongside the others.

  • The returned transactions should be sorted by reverse insertion order.

  • Store the user accounts in a database (if you don't allow users to create an account, see below, you can pre-populate them)

  • The backend should expose a JSON REST API and the frontend should be a single page application, reloading the page is not accepted.

Bonus:

  • Users can create an account

  • Use pagination to prevent having to load all transactions at the same time.

  • Possibly, you should work in a Linux environment (or at least provide instructions to make the system work easily in Linux)

Run the project locally

To run the project locally, first make sure to have node and mongodb installed

Clone the project

$ git clone https://github.com/Karlmusingo/check-balance.git && cd check-balance

Copy the .env file

$ cp .env.exemple .env

Installation

$ yarn install

Running the app

# development
$ yarn start

# watch mode
$ yarn start:dev

# production mode
$ yarn start:prod

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.