|
|
@@ -1,42 +1,37 @@
|
|
1
|
1
|
# CashMachine
|
|
2
|
|
-An example cash machine <-> bank system implementation
|
|
3
|
|
-
|
|
4
|
|
-uses JavaFX for the user interface.
|
|
|
2
|
+An simple cash account <-> bank system implementation (very loosely modelled!)
|
|
|
3
|
+
|
|
|
4
|
+This project uses JavaFX for the user interface toolkit. JavaFX is a software platform for creating
|
|
|
5
|
+and delivering desktop applications, as well as rich Internet applications (RIAs)
|
|
|
6
|
+that can run across a wide variety of devices. It is part of the standard Java distribution.
|
|
|
7
|
+
|
|
|
8
|
+Welcome to your first App. "ZipCloudBank", a local Wilmington fintech startup, has a minimally
|
|
|
9
|
+viable product in CashMachine. The response from customers has been, shall we say, underwhelming.
|
|
|
10
|
+The original coder has gone off to another startup, in Thailand, where they code on surfboards
|
|
|
11
|
+all day long.
|
|
|
12
|
+The Board of Directors of ZipCloudBank have empowered me to let you take a crack at "upping their game"
|
|
|
13
|
+and improving their app over this weekend. Impressed that you are a ZipCode student, they are
|
|
|
14
|
+expecting great things. Don't panic: we think you can do this.
|
|
|
15
|
+
|
|
|
16
|
+The point of this lab is to read thru some existing code, in this case, a program/app that
|
|
|
17
|
+launches a window on your computer and lets you play with a couple of "banking accounts".
|
|
|
18
|
+You should run the app, learn how to use it, so you understand what it does. It is not,
|
|
|
19
|
+shall we say, user-friendly. So you may find what you have to do to make it work somewhat
|
|
|
20
|
+awkward.
|
|
|
21
|
+
|
|
|
22
|
+Then, you should read thru the code seeing how the code actually implements the things you
|
|
|
23
|
+see when you run the code. Find the "main" routine, which is where the app starts up. Trace from there
|
|
|
24
|
+to see what code gets called where and when. Trace how the operations of the code work.
|
|
|
25
|
+
|
|
|
26
|
+Finally, you are to add some new functionality to the app, to make it "more useful, powerful &
|
|
|
27
|
+more rewarding for the user".
|
|
|
28
|
+Your effort will be met with promotions, parades, and stock options. (no, just kidding).
|
|
5
|
29
|
|
|
6
|
30
|
## Lab Brief
|
|
7
|
31
|
|
|
8
|
32
|
Notice the structure of the current project before you start. Read thru the code. READ THRU THE CODE.
|
|
9
|
|
-* 2 Account Classes: Basic, Premium
|
|
10
|
|
-* Other Classes include Bank, Account, CashMachine.
|
|
11
|
|
-
|
|
12
|
|
-Read them all, trying to get an idea of how it all goes together.
|
|
13
|
|
-
|
|
14
|
|
-### Notice when reading the code...
|
|
15
|
|
-* Each account has: id, name, email, balance
|
|
16
|
|
- * What does Premium account do that Basic does not?
|
|
17
|
|
-* What are the two starter account already built into the project?
|
|
18
|
|
-* Cash machine: enter account id to "login to account"
|
|
19
|
|
-* enter a number then click deposit
|
|
20
|
|
-* enter a number then click withdraw
|
|
21
|
|
-* exit logs out of the account
|
|
22
|
|
-
|
|
23
|
|
-## Things to Change for the Lab
|
|
24
|
|
-
|
|
25
|
|
-* Add more accounts to the default constructor of the Bank class.
|
|
26
|
|
-* when you overdraft an account, print an alert message to the areaInfo object
|
|
27
|
|
-
|
|
28
|
|
-### Additional things to add
|
|
29
|
|
-
|
|
30
|
|
-* make the account display more user friendly
|
|
31
|
|
- * add a Form layout that has separate TextFields for each piece of account info. You'll probablyfind a layout that lets you do this, a little like the FlowPane.
|
|
32
|
|
-* make the login stuff more clear
|
|
33
|
|
- * disable the three buttons that operate on an account until a login happens and then enable them.
|
|
34
|
|
- * add another TextField for the amount entries. make it different from the fieldwhere you set the account ID.
|
|
35
|
|
-* enable the amount entries to be floating point numbers instead of just integers when doing deposits and withdrawals.
|
|
36
|
|
-* add a menu with a list of accounts in it and the menu action switched to that account. You may find that JavaFX already has such a thing.
|
|
37
|
|
-
|
|
38
|
|
-* Add a New Account Window(!) that takes in the info required thru TextFields and creates the correct objects so that is can be changed like the pre-wired accounts.
|
|
39
|
33
|
|
|
|
34
|
+## Now, Switch across to the README.TXT file to see what you need to do for this lab.
|
|
40
|
35
|
___
|
|
41
|
36
|
|
|
42
|
37
|
NB:
|