1.0.2 • Published 4 years ago
ecommerce-calculator v1.0.2
Ecommerce calculator for JavaScript
1. Installation
This is a Node.js module available through the
npm registry. Installation is done using the
npm install
command:
Simply type the following into a terminal
$ npm install ecommerce-calculator
2. Usage
const { calculatePrice } = require('ecommerce-calculator');
const totalItems = 500;
const pricePerItem = 1;
const provinceCode = 'ON';
const totalPrice = calculatePrice(totalItems, pricePerItem, provinceCode);
console.log('Total Price', totalPrice);
3. Test
$ npm test
3.1. Output
> mocha test/test.js
√ Should return total price for Input: 500 items-$1 per item-ON : Output: $565
√ Should return total price for Input: 3600 items-$2.25 per item-MI : Output: $7984.98
√ Should output the error if state code not match
√ Should output the error if total item value is not a number (NAN)
√ Should output the error if total item value is 0 or less than 0
√ Should output the error if Price Per Item value is not a number (NAN)
√ Should output the error if Price Per Item value is 0 or less than 0
7 passing (86ms)
4. Environment/Staging
It has three various environments as local, development and production.
4.1. Local environment
- Local environment for developer in their local machine.
4.2. Development environment
- All feature branch merge on development branch and test all the new features.
4.3. Production environment
- Once all the testing is completed and approved by the testing and development team - dev branch merge into master branch.
- It'll be deploy on the npm registry using CI/CD.
5. Description
We have a network of vendors who re-sell our products. We wish to provide them an application to calculate the total cost of an order.
The app needs to give volume discounts and include sales tax.
Another system will accept input from the user, and will call this component with 3 inputs:
- number of items
- price per item
- 2-letter province/state code
The application should output the total price.
The total price is calculated by:
- calculate the total cost for the items
- deduct discount based on the quantity
- add sales tax based on the province/state code
The following tables give the discount rate and tax rates:
Order Value | Discount Rate |
---|---|
$1,000 | 3% |
$5,000 | 5% |
$7,000 | 7% |
$10,000 | 10% |
Province | Tax Rate |
---|---|
AB | 5% |
ON | 13% |
QC | 14.975% |
MI | 6% |
DE | 0% |
5.1. Example 1
Input: 500 items, $1 per item, Ontario
Output: $565.00
5.2. Example 2
Input: 3600 items, $2.25 per item, Michigan
Output: $7984.98
6. Project Structure
.
├── examples/main.js
├── test/test.js
├── index.js
├── README.md
├── package.json
WORKSPACE FILES | PURPOSE |
---|---|
example/main.js | A main.js file shows an example about the usage of this module. More details |
test/test.js | A test.js file contains the mocha test. More details |
index.js | Main index file with ecommerce-calculator to find total price. |
package.json | A package.json file includes the list of dependencies to install from npm when running npm install . |
README.md | Introductory documentation for the root app. |
7. License
MIT