|
|
**Milestone 10**
|
|
|
|
|
|
**Action Plan**
|
|
|
|
|
|
|
|
|
<table>
|
|
|
<tr>
|
|
|
<td><strong>Name</strong>
|
|
|
</td>
|
|
|
<td><strong>What was done</strong>
|
|
|
</td>
|
|
|
<td><strong>Time Spent</strong>
|
|
|
</td>
|
|
|
</tr>
|
|
|
<tr>
|
|
|
<td>Jeremie
|
|
|
</td>
|
|
|
<td>Added a budget page
|
|
|
<p>
|
|
|
Added manual tests for budgeting and receipt input.
|
|
|
</td>
|
|
|
<td>15 hours
|
|
|
</td>
|
|
|
</tr>
|
|
|
<tr>
|
|
|
<td>Jorgen
|
|
|
</td>
|
|
|
<td>Finished Testing for previous database models
|
|
|
<p>
|
|
|
Created BudgetsDB and tested BudgetsDB
|
|
|
<p>
|
|
|
Updated and tested ReceiptsDB
|
|
|
<p>
|
|
|
Created build script and updated README.
|
|
|
</td>
|
|
|
<td>15 hours
|
|
|
</td>
|
|
|
</tr>
|
|
|
<tr>
|
|
|
<td>Lucas
|
|
|
</td>
|
|
|
<td>Finished Visualization page
|
|
|
<p>
|
|
|
Testing for Visualization page
|
|
|
</td>
|
|
|
<td>15 hours
|
|
|
</td>
|
|
|
</tr>
|
|
|
<tr>
|
|
|
<td>Michael
|
|
|
</td>
|
|
|
<td>Finished Receipt Input Bugs
|
|
|
<p>
|
|
|
Added feedback to Input
|
|
|
<p>
|
|
|
Finished Search filter by item
|
|
|
<p>
|
|
|
Finished Search filter by company
|
|
|
<p>
|
|
|
Finished Search sort oldest -> newest
|
|
|
<p>
|
|
|
Finished Search sort newest -> oldest
|
|
|
<p>
|
|
|
Added modal for search
|
|
|
<p>
|
|
|
Added delete receipt in search
|
|
|
</td>
|
|
|
<td>15 hours
|
|
|
</td>
|
|
|
</tr>
|
|
|
</table>
|
|
|
|
|
|
Database testing:
|
|
|
|
|
|
Running DatabaseModuleTests
|
|
|
|
|
|
(PASSED) Database Test Results: 2/2
|
|
|
|
|
|
(PASSED) BusinessesDB Test Results: 7/7
|
|
|
|
|
|
(PASSED) ItemNamesDB Test Results: 7/7
|
|
|
|
|
|
(PASSED) ItemCategoriesDB Test Results: 7/7
|
|
|
|
|
|
(PASSED) ItemsDB Test Results: 10/10
|
|
|
|
|
|
(PASSED) ReceiptsDB Test Results: 7/7
|
|
|
|
|
|
(PASSED) ItemsDB Test Results: 9/9
|
|
|
|
|
|
(PASSED) DatabaseModule Test Results: 49/49
|
|
|
|
|
|
README
|
|
|
|
|
|
# What features are in this application
|
|
|
1) Manual Receipt Input
|
|
|
2) Uploaded image copied to our image folder.
|
|
|
3) Search functionality
|
|
|
4) Search filters
|
|
|
5) Deleting receipts
|
|
|
6) Creating/Modifying Budgeting
|
|
|
7) View Budget Status
|
|
|
|
|
|
# Todo
|
|
|
1) Find and fix any uncaught bugs
|
|
|
2) Improve visuals
|
|
|
3) Add quality of life features(features that increase usability while not adding new functionality)
|
|
|
|
|
|
# Windows Setup
|
|
|
1) Install nodejs. https://nodejs.org/en/
|
|
|
2) Restart computer
|
|
|
3) Open powershell as admin
|
|
|
4) Install windows-build-tools with npm
|
|
|
5) Restart computer
|
|
|
6) Clone repository
|
|
|
7) Go to master branch
|
|
|
8) Install dependencies (cwd must be in 370-zero-idea)
|
|
|
|
|
|
# Installing windows-build-tools
|
|
|
```bash
|
|
|
npm install --global windows-build-tools
|
|
|
```
|
|
|
|
|
|
# Installing dependencies
|
|
|
|
|
|
``` bash
|
|
|
npm install
|
|
|
```
|
|
|
|
|
|
# Running program
|
|
|
``` bash
|
|
|
npm start
|
|
|
```
|
|
|
|
|
|
# Linux Setup
|
|
|
1) Install nodejs. https://nodejs.org/en/
|
|
|
2) Clone repository
|
|
|
4) Go to master branch
|
|
|
3) Install dependencies
|
|
|
``` bash
|
|
|
npm install
|
|
|
```
|
|
|
|
|
|
# Running program
|
|
|
``` bash
|
|
|
npm start
|
|
|
```
|
|
|
|
|
|
# Building binary for local machine
|
|
|
1) Install nodejs
|
|
|
2) Clone repository
|
|
|
4) Go to master branch
|
|
|
3) Install dependencies
|
|
|
4) ``` bash
|
|
|
npm run build-host
|
|
|
```
|
|
|
This will build the app for your host system. The output files can be found under the build sub directory
|
|
|
|
|
|
# Building binary for local machine
|
|
|
1) Install nodejs
|
|
|
2) Clone repository
|
|
|
4) Go to master branch
|
|
|
3) Install dependencies
|
|
|
4) Run a command from below for the desired operating system
|
|
|
|
|
|
## Building for Linux
|
|
|
``` bash
|
|
|
npm run build-linux
|
|
|
```
|
|
|
|
|
|
## Building for Windows
|
|
|
``` bash
|
|
|
npm run build-win32
|
|
|
```
|
|
|
|
|
|
## Building for MacOS
|
|
|
``` bash
|
|
|
npm run build-macOS
|
|
|
```
|
|
|
|
|
|
## Building for Linux, Windows, and MacOS
|
|
|
``` bash
|
|
|
npm run build-all
|
|
|
```
|
|
|
|
|
|
# Automated Testing
|
|
|
``` bash
|
|
|
npm run test
|
|
|
```
|
|
|
``` bash
|
|
|
npm run testDatabase
|
|
|
```
|
|
|
```
|
|
|
(PASSED) Database Test Results: 2/2
|
|
|
(PASSED) BusinessesDB Test Results: 7/7
|
|
|
(PASSED) ItemNamesDB Test Results: 7/7
|
|
|
(PASSED) ItemCategoriesDB Test Results: 7/7
|
|
|
(PASSED) ItemsDB Test Results: 10/10
|
|
|
(PASSED) ReceiptsDB Test Results: 7/7
|
|
|
(PASSED) ItemsDB Test Results: 9/9
|
|
|
(PASSED) DatabaseModule Test Results: 49/49
|
|
|
```
|
|
|
|
|
|
|
|
|
# Manual Testing
|
|
|
|
|
|
## Receipt Input
|
|
|
|
|
|
#### Test 1
|
|
|
Try Input a Receipt with no Business Name
|
|
|
Verify That:
|
|
|
- An error message is displayed
|
|
|
Status: Pass
|
|
|
|
|
|
#### Test 2
|
|
|
Try Input a Receipt with no Date
|
|
|
Verify That:
|
|
|
- An error message is displayed
|
|
|
Status: Pass
|
|
|
|
|
|
#### Test 3
|
|
|
Try Input a Receipt with no Items
|
|
|
Verify That:
|
|
|
- An error message is displayed
|
|
|
Status: Pass
|
|
|
|
|
|
#### Test 4
|
|
|
Try to create an item with 1 parameter missing
|
|
|
Verify That:
|
|
|
- An error message is displayed
|
|
|
Status: Pass
|
|
|
|
|
|
#### Test 5
|
|
|
Try Input a Receipt with a picture
|
|
|
Verify That:
|
|
|
- The picture is copied into the picture database
|
|
|
- The picture info is successfully put into the database and kept upon reloadings
|
|
|
Status: Failed
|
|
|
|
|
|
#### Test 6
|
|
|
Try Input a Receipt with valid input
|
|
|
Verify That:
|
|
|
- An success message is displayed
|
|
|
- The receipt is successfully put into the database and kept upon reloadings
|
|
|
Status: Pass
|
|
|
|
|
|
## Data Visualization
|
|
|
|
|
|
## Searching
|
|
|
|
|
|
## Budgeting
|
|
|
|
|
|
#### Test 1
|
|
|
Create Budget(ex: 50.00) for a timeframe(ex: march 2020) on All receipts where there is not a budget
|
|
|
Verify That:
|
|
|
- Can view budget
|
|
|
- Budget amount is correct
|
|
|
- Budget is saved and kept upon reloading the application
|
|
|
Status: Pass
|
|
|
|
|
|
#### Test 2
|
|
|
Update an existing Budget(ex: 50.00) to a new value(ex: 100.00) for a timeframe(ex: march 2020) on All receipts for a budget that already exists in the database
|
|
|
Verify That:
|
|
|
- Can view budget
|
|
|
- Budget amount is the new amount
|
|
|
- New budget amount is saved and kept upon reloading the application
|
|
|
Status: Pass
|
|
|
|
|
|
#### Test 3
|
|
|
Create Budget(ex: 50.00) for a timeframe(ex: march 2020) on a business where there is not a budget
|
|
|
Verify That:
|
|
|
- Can view budget
|
|
|
- Budget amount is correct
|
|
|
- Budget is saved and kept upon reloading the application
|
|
|
Status: Pass
|
|
|
|
|
|
#### Test 4
|
|
|
Update an existing Budget(ex: 50.00) to a new value(ex: 100.00) for a timeframe(ex: march 2020) on a business for a budget that already exists in the database
|
|
|
Verify That:
|
|
|
- Can view budget
|
|
|
- Budget amount is the new amount
|
|
|
- New budget amount is saved and kept upon reloading the application
|
|
|
Status: Pass
|
|
|
|
|
|
#### Test 5
|
|
|
Create Budget(ex: 50.00) for a timeframe(ex: march 2020) on a category where there is not a budget
|
|
|
Verify That:
|
|
|
- Can view budget
|
|
|
- Budget amount is correct
|
|
|
- Budget is saved and kept upon reloading the application
|
|
|
Status: Pass
|
|
|
|
|
|
#### Test 6
|
|
|
Update an existing Budget(ex: 50.00) to a new value(ex: 100.00) for a timeframe(ex: march 2020) on a category for a budget that already exists in the database
|
|
|
Verify That:
|
|
|
- Can view budget
|
|
|
- Budget amount is the new amount
|
|
|
- New budget amount is saved and kept upon reloading the application
|
|
|
Status: Pass
|
|
|
|
|
|
#### Test 7
|
|
|
Create Budget(ex: -50.00) for a timeframe(ex: febuary 2020) on a category/business/all where there is not a budget
|
|
|
Verify That:
|
|
|
- An error message displayed
|
|
|
- The value is not saved
|
|
|
Status: Pass
|
|
|
|
|
|
#### Test 8
|
|
|
Update an existing Budget to a new value that is <= 0 (ex: -10) for a timeframe(ex: febuary 2020) on a category/business/all for a budget that already exists in the database
|
|
|
Verify That:
|
|
|
- An error message is displayed
|
|
|
- The value is not saved
|
|
|
Status: Pass
|
|
|
|
|
|
Prerequisites:
|
|
|
- Receipts have been entered in the receipt input page
|
|
|
- Budgets have been entered in the budget input part of the page
|
|
|
|
|
|
#### Test 9
|
|
|
Browse a budget that has a budget set for the current timeframe for a business/a category/all
|
|
|
Verify That:
|
|
|
- The budget is correctly displayed
|
|
|
Status: Pass
|
|
|
|
|
|
#### Test 10
|
|
|
Browse a budget that has no budget set for the current timeframe for a business/a category/all
|
|
|
Verify That:
|
|
|
- No budget is displayed
|
|
|
Status: Pass
|
|
|
|
|
|
#### Test 11
|
|
|
Browse a timeframe where there is spending for the current timeframe for a business/a category/all
|
|
|
Verify That:
|
|
|
- The spending is correctly displayed
|
|
|
Status: Pass
|
|
|
|
|
|
#### Test 12
|
|
|
Browse a budget where there is no spending for the current timeframe for a business/a category/all
|
|
|
Verify That:
|
|
|
- The spending is 0
|
|
|
Status: Pass
|
|
|
|
|
|
#### Test 13
|
|
|
Browse a timeframe where there is spending and a budget set for the current timeframe for a business/a category/all and the budget is bigger than the spending
|
|
|
Verify That:
|
|
|
- The surplus is correctly computed
|
|
|
Status: Pass
|
|
|
|
|
|
#### Test 13
|
|
|
Browse a timeframe where there is spending and a budget set for the current timeframe for a business/a category/all and the budget is smaller than the spending
|
|
|
Verify That:
|
|
|
- The deficit is correctly computed
|
|
|
Status: Pass
|
|
|
|
|
|
#### Test 15
|
|
|
Browse a budget where there is no budget set for the current timeframe for a business/a category/all
|
|
|
Verify That:
|
|
|
- No budget is displayed
|
|
|
Status: Pass |
|
|
\ No newline at end of file |