Instant Finance Prototype Deliverable
Contents
A description of the Instant Finance project can be found in the
Requirements Document.
A tarred and gzipped archive of the complete source of
Instant Finance can be downloaded by clicking
here.
Once downloaded, uncompress and untar the archive. Compile the source
by running the shell script CompileAll, which will run
the Java compiler javac on the source files in the
proper order and produce the necessary ".class"
byte-code files.
The Instant Finance system can also be obtained in a
pre-compiled distribution by downloading
if_dist.tar.gz. Once downloaded, uncompress
and untar the archive. Contained within it are the pre-compiled
".class" files produced by the javac Java
compiler.
Once you have a compiled system, the applet can be started by
opening the file IF.html in a Java-enabled web browser such
as Netscape, or in appletviewer.
You can run Instant Finance in your browser right now by
selecting here.
After starting the Instant Finance applet, the first screen
you will be presented with is the login screen, shown below.
Type in your user name and password, and press the Login
button to enter the applet and load your account information. After a
short delay, you will then be presented with a view of a closed
virtual checkbook, shown here.
You can see along the right side of the checkbook a row of selection
tabs indicating the different functions available from this screen.
At this time, only the Check and Report tabs are functional
(Savings and Credit account types have not been implemented in this
release). If you click on the Check tab, a new window will
appear displaying the checking accounts available to you. An example
of what this might look like is shown below.
In the top half of the display will be listed your various checking
accounts. If there are more accouts than can be listed in the available
space, the list can be scrolled using the four buttons to the right. The
four buttons are, from top to bottom:
- page up -- scroll up an entire page of the list
- line up -- move the list up one item
- line down -- move the list down one item
- page down -- scroll down an entire page of the list
This screen allows several account management functions:
- Create new account
- Clicking the New button adds a blank entry to the list of
accounts. You can then fill in the fields in the lower half
of the screen to specify information about this new account.
- Delete account
- Select an account by clicking the toggle button to the left of the
account. Clicking the Delete button while an account is
selected deletes that account and all related information.
- Edit account information
- Selecting an account presents that account's information in the display
panel in the lower half of the screen. Information about that
account (such as the account name or owner) can be edited by
typing in the text fields. This information is updated by
clicking the OK button.
- Open an account
- Selecting an account and then pressing the Open button opens
that account. Opening the account updates the display to show
information on that specific account, as shown in the picture
below.
The checking account display presents a list of transactions in this
specific account in the top half of the window. The methods for selecting
lines of the transaction list and for navigating around in
the list are the same as those in the account list above.
The major functions available in this checking account display are:
- New transaction
- Selecting New with the mouse button creates a new transaction
line in the transaction list and presents a blank "virtual
check" in the lower half of the display. You can then fill
in the various areas of the check to enter a new transaction, and
press the OK button to enter the new transaction into
the register. The areas on the check are (from top to bottom,
left to right):
- Reference number
-- for entering a check number.
- Date
-- The date can be entered in several different forms,
as supported by the Java language. The suggested format
is mm/dd/yy.
- Payee
-- labeled "Pay to the order of". Use
this field to enter the recipient of the check.
- Amount
-- Enter the amount in dollars in this field. Note that
positive amounts are deducted from the account's
balance when entered into the register. Since deposits
have not been implemented in this release, a negative
amount in this field can be used to simulate a deposit
into the account, and will be added to the
account balance.
- Category
-- In the field labeled "For",
enter the category or other annotation for this
transaction.
- Edit a transaction
- Selecting a transaction in the transaction register list displays
that transaction in the lower half of the screen. Fields on this
display can then be edited, and when OK is pressed, the
transaction will be updated in the register.
- Delete a transaction
- Selecting a transaction and then pressing the Delete button
deletes the selected transaction from the transaction register.
To prepare a report displaying various aspects of an account, select
the Report tab at the lower right of the checkbook display. You
will then be presented with the Report Manager, which might look like
this:
Shown above is a Budget graph. Create one of these by selecting
an account in the Account pop-up menu, and choosing Budget
in the Chart Type menu. You can label the graph in the text field
below the Chart Type menu, and specify begin and end dates in the
fields below that. To the right there is a list of categories used in this
account. Select specific categories that you want to appear in the
chart, or leave them all unselected to display all of the categories in
the chart. Pressing the New Chart button generates the graph and
displays it in the lower half of the screen.
Creating a Balance graph is very similar. Create one of these by
selecting an account in the Account pop-up menu, and choosing
Balance in the Chart Type menu. You can specify dates and
a chart title as with Budget graphs, and press New Chart to generate
the graph and display it in the lower half of the screen. Here is what
a Balance graph might look like:
You can exit the Instant Finance applet simply by leaving the
web page containing it, or by exiting your browser or appletviewer.
Here is a list of all of the files included in the source distribution
of Instant Finance and the purpose of each.
- Main.java
- This class extends java.applet.Applet.
It is the main applet that is
executed by the end user. This is where the main GUI
events are handled (i.e. switching between sections of the applet).
This applet first calls the login, and then switches between different
sections of the applet as user events warrant.
- User.java
- This class defines the user object. It contains a vector of the users
accounts. It also contains the methods for loading and saving the
data (not yet functional on all platforms).
- LoginPanel.java
- This class creates the panel in which the user initially logs in. It
is called by Main.java and returns whether the login was a
success.
- PicturePanel.java
- This class extends java.awt.panel. It is the class from which the
individual sections (Report Manager, Account Manager, etc.) gain
access
to the main GUI. The main sections extend from this class. By
extending from this class, the subclass is provided with a properly
aligned top and bottom panel laid out on a check book image to which
it can create its GUI to conform to the integration specifications.
Any additional sections should derive from this class.
- ChartUI.java
- This class creates the GUI for the report manager. It extends Picture
Panel and includes the code to filter the correct data from the User
class for graphing.
- AllChart.java
- This is an abstract class that extends Canvas and provides a
base for the subclasses
LineChart.class, ThreeDVBarChart.class, and
PieChart.class. It
handles the initialization of the data and preparation for
graphing.
- AccountManager.java
- This class extends the PicturePanel class.
It handles all GUI events related to the Account Manager.
It is the interface through which the end user creates, deletes, and
edits accounts.
- Account.java
- This class encapsulates the information related to a user's account.
It holds an instance of TransactionCollection,
the name of the owner,
the ID of the owner, the beginning balance, and the interest rate.
- TransactionCollection.java
- This class creates an object that contains a vector of
Transaction
objects and the methods needed to add, remove, delete, and return
Transaction objects from the
TransactionCollection.
- Transaction.java
- This class defines the object used to hold transaction information
(e.g. Category, amount, etc.)
- PieChart.class /
ThreeDVBarChart.class /
LineChart.class
- These classes are used to draw the graphs given the filtered data
from ChartUI. The source can be found at
http://users.aimnet.com/~foureyes/chart/source.html
A more detailed analysis of the source code and its design can be found
in the Design Document and the
javadoc documentation.
to the Instant Finance Project Notebook
Comments to: dwd@cc.gatech.edu
/ home page
Last modified: Wed May 29 16:07:38 1996