Create a function in TypeScript to compute the peak volume of cloud storage utilized over a (month) 30 day period

En curso Publicado hace 5 años Pagado a la entrega
En curso Pagado a la entrega

We have built a search engine, where users can upload files (MS Office documents, PDF etc) into a "Case", and the files in the Case are made searchable. As a SaaS business we charge our users by the volume (in GB) of files that they upload. We want to bill our customers for the maximum amount of data they uploaded in a 30 day period. The volume of data in the case goes up and down over the 30 day period as users can delete files and add new files.

For e.g. Take the month of January. Let's say the following transactions occur

Jan 1: User uploads 15 GB of files

Jan 15: User uploads 10 GB of files

Jan 20: User deletes 20 GB

The user is billed on Jan 31, and the peak usage for this user is 25GB, which occured on Jan 15 (10 GB + 25 GB). Hence the user will be billed for 25GB. The table below illustrates the peak data over the month for the case.

Peak Data

Jan 1 : 15 GB

Jan 15: 25 GB

Jan 20 : 25 GB

Jan 31: 25 GB

Note : that since the user deleted 20 GB on Jan 20, that will only reflect in February, where the peak usage is reset.

This project's deliverables are (more details and test data to be provided):

A function named computePeakUsage in a module of its own, which will accept the allStores and forMonths parameters and return the peak usage information in the format described

This module will be written in TypeScript.

This module will accompany any needed test cases written in Mocha to validate the functionality of this function, including but not limited to:

Assert that the start and end dates of cases are taken into account.

Correctly handle events spanning month boundaries over a single or multiple months.

The delete in output flag is correctly marked for all deleted cases.

Correctly take into account allotted quotas (could be 0)

Correctly uses the per GB pricing, accurately accounting for multiplication of small numbers in JS.

Results for multiple cases are returned correctly with required data for each return cased.

Results for multiple cases for multiple months are returned correctly.

Results for current month are returned correctly till the very last second before the function was called.

The totals match up correctly.

Certain edge cases are accounted for, e.g. events at start and end of months, case deletions at start and end of the months.

The function is sufficiently performant for large sets of input.

Either returns computed data or throws an exception with good description of what went wrong (invalid input data e.g.).

Algoritmos Backend Development Node.js RESTful Typescript

Nº del proyecto: #18664480

Sobre el proyecto

9 propuestas Proyecto remoto Activo hace 5 años

Adjudicado a:

fukn3k

I am expert in working with cloud computing and all the needed TypeScript is easy enough for me. I can handle a shorter deadline when it comes to this project i think

$320 USD en 3 días
(1 comentario)
0.0

9 freelancers están ofertando un promedio de $807 por este trabajo

AwaisChaudhry

Hi there, I have checked the details I have rich experienced with TypeScript. Please initiate chat so we can discuss this job.

$750 USD en 10 días
(9 comentarios)
6.2
zekovicm

Hi there,I am Typescript expert from Bosnia & Herzegovina,Europe. I have carefully gone through with your requirements and I would like to help you with this project ! I can start immediately and finish it within the Más

$500 USD en 3 días
(4 comentarios)
5.2
fleedsteed

Hi Nice to meet you We are a senior Software Development Company - DG Electronic Entertainment Co., LTD, located in Dalian, China. (Hangzhou Dongcheng Electronic Co., LTD is changed to Dongcheng Global) We are Más

$2000 USD en 7 días
(1 comentario)
2.5
xxemre

I can write it with JavaScript or TypeScript, no problem. .

$833 USD en 10 días
(0 comentarios)
0.0
nummanali

Honestly don't understand how some other people have bids so high. I'm UK based and regularly make such functions with mocha tests for my current company. Drop me a PM and we can discuss further.

$555 USD en 10 días
(0 comentarios)
0.0