-
Notifications
You must be signed in to change notification settings - Fork 248
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[CS2113-T13-3] BankWithUs #41
base: master
Are you sure you want to change the base?
Changes from 250 commits
4de79f1
77eb9f2
1253080
69154f9
cdf6108
8c789da
ca08a7f
ea53650
edb3e1f
9375f04
1ae38a0
db3becc
24cbf99
7dd49c6
0a8547e
160dd24
00cb959
e5219cd
2b3073c
19a32b5
5a741a0
6fb84a4
95336d1
0d9d0d2
b64a0bb
98ad6e8
6f4acf1
6d9eb9b
a1c18d0
21df275
148c889
7035cdd
9a1f634
f2d0501
57b0484
3536cbf
2b5f704
4d1dff7
0fc541f
8ddbe8b
038ff2b
172bc37
cb23f18
839b25a
a89dc57
f84da91
ca49012
23d02ca
0859a20
ac916ca
8630e27
eae0b5d
b583164
405a4db
842750f
368902a
c1714b5
8239cd4
8516c6c
6585cf8
f4acaed
4702ddd
707f816
c94c7ee
fa84f6c
0c61d0b
8baed00
58f4cfa
b9a4d95
8d931fd
3f7993d
ee9b343
cf90ff4
7d5c0a5
5a23b0d
3a408de
af80f15
e3748f8
0a3655a
a409aa2
87af21b
a75c503
671fcdb
b8d46e5
6923404
70d716e
df7730d
d97726e
8fe5f92
e154061
c16350b
b2e0393
4c36173
8a17b64
4048833
ff1a6c4
a280f40
a0f7191
bc8688c
098c067
9f324a9
7d4662e
bdd79e0
1167941
f1210d2
f1fa881
af27de4
881918b
d0dba20
2da28b3
fcfefa8
df86a8f
67be20b
ca962d5
e6dee0e
c83c052
5d19a83
9da38cb
8978ad8
4ba0bcc
95c2975
40db42b
27b4a6f
7294aa1
48904d3
9e39223
a67dd44
2477793
6ef4f3a
7e88658
1b47352
d1cd747
70e9d95
bea8d49
056aaf4
966aa3e
e7c26f1
eca1f42
a3fb0f1
9972953
19e5664
47c19ff
9935190
3e11b40
089fa38
4b7158e
cbcc09c
9c61fae
39965f0
cb413a2
2ecbf97
f22b10e
1f88ae0
ff54124
6734ace
fa6b66a
8b8ecc6
5451ca7
f1cb8a3
dc1b324
099fb1f
0e35099
c50b98b
18bc656
dd22e50
a0c562e
410caeb
9a04642
6574309
c8b21dc
1a1fa80
98ff82a
0c037b7
7f51bd3
53b93db
36a1b09
32995fb
6c16c86
1b5b626
05017f1
981143a
d9a4e9b
bc95782
ba9d5a1
31c9fc3
c5f1807
8c63797
dc2ca12
672694a
18fe653
2725813
cca5761
4e30f83
f63cd6e
e529732
4a6b869
75fabc2
8f3279d
003ca30
ef45eb5
14ddef9
30212e6
591e621
0f20d83
495f1c0
c0962ca
a262625
f7ee971
0b19514
8ae928f
a5d771f
a351970
cfb8523
2dc4858
0164b00
b3a1116
6efc33e
4d0dabe
d0053ae
7344848
1b1ced6
da3f4a7
98590a4
eb6969b
a5ee3fb
44a17b5
f3086b5
c731f61
e77269a
45b0b61
464d21f
15d1944
06b817e
84ecb8b
88b997b
c7822e3
60fac54
95e0b04
d86e257
783626c
3992e9d
27a9f1f
9dab15b
fbd3caa
6758594
c906d2a
d82481a
9a0c7d4
18b35b3
41ae99d
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
Manifest-Version: 1.0 | ||
Main-Class: seedu.bankwithus.BankWithUs | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,9 +1,9 @@ | ||
# About us | ||
|
||
Display | Name | Github Profile | Portfolio | ||
--------|:----:|:--------------:|:---------: | ||
![](https://via.placeholder.com/100.png?text=Photo) | John Doe | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md) | ||
![](https://via.placeholder.com/100.png?text=Photo) | Don Joe | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md) | ||
![](https://via.placeholder.com/100.png?text=Photo) | Ron John | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md) | ||
![](https://via.placeholder.com/100.png?text=Photo) | John Roe | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md) | ||
![](https://via.placeholder.com/100.png?text=Photo) | Don Roe | [Github](https://github.com/) | [Portfolio](docs/team/johndoe.md) | ||
Display | Name | Github Profile | Portfolio | ||
--------|:-----------:|:---------------------------------------:|:---------: | ||
![](https://via.placeholder.com/100.png?text=Photo) | Manushri | [Github](https://github.com/manushridiv) | [Portfolio](docs/team/johndoe.md) | ||
<img src = "https://img1.ak.crunchyroll.com/i/spire3/ce09954d04b9388547d819522f75a01b1663350777_full.png" width = 25% height = 25%> | Tay Yu Yang | [Github](https://github.com/tyuyang) | No portfolio to speak of. | ||
![](https://via.placeholder.com/100.png?text=Photo) | Xiaoge | [Github](https://github.com/xiaoge26) | N.A. | ||
![](https://via.placeholder.com/100.png?text=Photo) | Vishnu | [Github](https://github.com/vishnuvk47) | [Portfolio](docs/team/johndoe.md) | ||
![](https://via.placeholder.com/100.png?text=Photo>) | Yao He | [Github](https://github.com/Sherlock-YH) | No portfolio>>>>>>> master |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,29 +1,136 @@ | ||
# Developer Guide | ||
|
||
* [Acknowledgements](#acknowledgements) | ||
* [Setting up, getting started](#setting-up-getting-started) | ||
* [Design](#design) | ||
* [Architecture](#architecture) | ||
* [UI Component](#UI-Component) | ||
* [Parser Component](#parser-component) | ||
* [BankWithUs Component](#bankwithus-component) | ||
* [Account Component](#account-component) | ||
* [AccountList Component](#accountlist-component) | ||
* [SaveGoal Component](#saveGoal-component) | ||
* [Storage Component](#storage-component) | ||
* [Withdrawal Limit Component](#withdraw limit checker-Component) | ||
* [Transaction Component](#transaction-Component) | ||
* [TransactionList Component](#transactionlist-component) | ||
* [Implementation](#implementation) | ||
* [Account related Feature](#Account-feature) | ||
* [saveGoal related Feature](#SaveGoal-feature) | ||
* [transaction Related Feature](#transaction-feature) | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. When I clicked, nothing happen. Is it supposed to be like this? |
||
|
||
* [Appendix: Requirements](#appendix-requirements) | ||
* [Product scope](#product-scope) | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Nice hyperlinks for easy navigation of the guide |
||
* [Target user profile](#target-user-profile) | ||
* [Value proposition](#value-proposition) | ||
* [User Stories](#user-stories) | ||
* [Non-Functional Requirements](#non-functional-requirements) | ||
* [Glossary](#glossary) | ||
|
||
--- | ||
|
||
|
||
|
||
## Acknowledgements | ||
|
||
{list here sources of all reused/adapted ideas, code, documentation, and third-party libraries -- include links to the original source as well} | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. There are many placeholder sentences left in the code. I think it would be better to remove them. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Should it be deleted instead? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. remember to add the proper acknowledgements before submission (trivial) |
||
|
||
## Setting up, getting started | ||
|
||
--- | ||
|
||
## Design & implementation | ||
|
||
{Describe the design and implementation of the product. Use UML diagrams and short code snippets where applicable.} | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Should it be deleted instead? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I know this is a placeholder for now but I actually found this part essential to having a high level view of what is required, how this is used, what was the perspective required to take when doing the project. In a real project, a completely OOP-ized methodology is always adopted. So the paradigm used and how this should be understood at a high level would be nice if it is included |
||
|
||
### Design | ||
|
||
## Product scope | ||
### Target user profile | ||
### Architecture | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. It looks like a lot of the classes are dependent on a lot of other classes. Perhaps the architecture could be rethought to increase cohesion and decrease coupling? |
||
<img src="images/MainArchitecture.png" width="280" /> | ||
|
||
{Describe the target user profile} | ||
**Interactions** | ||
|
||
### Value proposition | ||
The sequence diagram below shows how components interact with each other when the user issues the command `deposit 100`. | ||
|
||
<img src="images/deposit100SeqDiagram.png" width="280" /> | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. can this be resized? It cannot be seen |
||
|
||
|
||
### UI-Component | ||
Class: `Ui.java` | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. You shoudl include more details, especially how they work together. Or the more macro view |
||
|
||
* contains all code that interfaces directly with the CLI | ||
|
||
### Parser-Component | ||
Class: `Parser.java` | ||
|
||
* determines what the program would do with the input retrieved from the CLI | ||
|
||
### Account-Component | ||
Class: `Account.java` | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The class descriptions are not uniformly formatted (some start with "The ___ component:", some don't, some start with capital letters, some don't, some don't have a description (Withdrawal-Limit-Checker-Component), I think it would be beneficial to make all the class descriptions uniformly formatted to increase readability and understandability for other developers |
||
|
||
The `Account` component: | ||
|
||
* contains `name`, `balance`, `SaveGoal`, `withdrawChecker` attribute | ||
* stores and manages all the account details that pertains to one account. | ||
|
||
### AccountList-Component | ||
|
||
Class: `AccountList.java` | ||
|
||
The `AccountList` component: | ||
|
||
* Is an ArrayList<Accounts> that contains the various different accounts that the user has. | ||
* The accountList is used to navigate between accounts for the switch-to feature | ||
* when a new account is created it is appended to teh AccountList array | ||
|
||
### BankWithUs-Component | ||
Class: `bankWithUS.java` | ||
|
||
The `BankWithUs` component: | ||
|
||
* The Main Class | ||
* the whole program executes through the bankWithUs class | ||
|
||
### SaveGoal-Component | ||
Class: `SaveGoal.java` | ||
|
||
The `saveGoal` component: | ||
|
||
* Allows users to add a savings goal | ||
* allows users to add a deadline to the savings goal | ||
|
||
### Storage-Component | ||
Class: `Storage.java` | ||
|
||
The `Storage` component: | ||
|
||
{Describe the value proposition: what problem does it solve?} | ||
* Handles storing data in the save files and also loading data, if any, when program opens. | ||
|
||
## User Stories | ||
### Withdraw-Limit-Checker-Component | ||
Class: `WithdrawalChecker.java` | ||
|
||
|Version| As a ... | I want to ... | So that I can ...| | ||
|--------|----------|---------------|------------------| | ||
|v1.0|new user|see usage instructions|refer to them when I forget how to use the application| | ||
|v2.0|user|find a to-do item by name|locate a to-do without having to go through the entire list| | ||
### Transaction-Component | ||
Class: `Transaction.java` | ||
|
||
The `Transaction` component: | ||
|
||
* Stores the details of a transaction | ||
|
||
### TransactionList-Component | ||
Class: `TransactionList.java` | ||
|
||
The `TransactionList` component: | ||
* Contains an ArrayList<Transaction> that contains the various different transactions that the user has. | ||
* Has methods to add and view transactions | ||
|
||
--- | ||
|
||
## Implementation | ||
* [Account related Feature](#account-feature) | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. these links dont actually work |
||
* [saveGoal related Feature](#savegoal-feature) | ||
* [transaction Related Feature](#transaction-feature) | ||
|
||
--- | ||
|
||
## Non-Functional Requirements | ||
|
||
|
@@ -33,6 +140,55 @@ | |
|
||
* *glossary item* - Definition | ||
|
||
## Appendix: Requirements | ||
|
||
### Product scope | ||
|
||
BankWithUs is a powerful and user-friendly CLI-based banking system | ||
that provides users with an easy and quick way to manage their financial | ||
transactions and budget accordingly. With its wide range of features and | ||
easy-to-use command syntax, BankWithUs makes it simple for users to manage their finances on the go. | ||
|
||
|
||
### Target user profile | ||
|
||
The target audience for the command line-based Banking System is individuals who value | ||
efficiency and simplicity in their financial management. This group includes students, | ||
freelancers, and small business owners who are looking for a fast and straightforward way to manage their finances. | ||
|
||
|
||
### Value proposition | ||
|
||
Fast typers may benefit more from the CLI | ||
version of the banking system as it allows for | ||
quick navigation and interaction with the system using keyboard shortcuts. | ||
This can lead to a faster and more efficient workflow compared to using a graphical user interface (GUI), | ||
which may require more clicks and navigation. Additionally, fast typers may prefer the simplicity and | ||
minimalism of a CLI interface, as it provides only the essential information and features needed to manage their finances. | ||
|
||
|
||
### User Stories | ||
|
||
| Version | As a ... | I want to ... | So that I can ... | | ||
|---------|----------|------------------------------------------|-----------------------------------------------------------------------------------------| | ||
| v1.0 | user | Add deposits | so that I can check my financial status. | | ||
| v1.0 | user | Withdraw money | so that i can see the effect of my spending on balance | | ||
| v1.0 | user | view account | so that i can keep track of my minimum balance | | ||
| v2.0 | user | add a withdrawal limit | so that i can be forced to maintain a frugal habit | | ||
| v2.0 | user | add a savings goal | so that i can keep track of my spendings in tandem with my savings goal | | ||
| v2.0 | user | add a new account | so that i can categorise my accounts and manage financial better | | ||
| v2.0 | user | switch account | so that i can navigate between the various accounts i have and keep track of finacnials | | ||
| v2.0 | user | list all the command that can be used | so that i can have a basic overview of the apps functionalities | | ||
|
||
|
||
### Non-Functional Requirements | ||
|
||
{Give non-functional requirements} | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. should it be deleted instead? |
||
|
||
### Glossary | ||
|
||
* *glossary item* - Definition | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. It should be deleted, or replaced instead? It seems repetitive, since I saw another line in the down below. |
||
|
||
## Instructions for manual testing | ||
|
||
{Give instructions on how to do a manual product testing e.g., how to load sample data to be used for testing} | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Should it be deleted instead? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The following links do not work:
UI Component
SaveGoal Component
Withdrawal Limit Component
Transaction Component
Account related Feature
saveGoal related Feature
Transaction Related Feature
Perhaps you should fix them?