https://github.com/2014-javafs/karla_gonzalez_p0
https://github.com/2014-javafs/karla_gonzalez_p0
Last synced: 8 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/2014-javafs/karla_gonzalez_p0
- Owner: 2014-JavaFS
- Created: 2024-07-03T19:30:47.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-07-19T14:14:41.000Z (over 1 year ago)
- Last Synced: 2025-01-17T12:45:36.338Z (9 months ago)
- Language: Java
- Size: 299 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Banking Application
## Overview
A banking application built for Project 0.
## ERD

## User Stories
### As a user:
1. I want to be able to sign up
1. So that I can easily access my funds
2. I want to be able to log into my account
1. So that I can view my account and make deposits and withdrawals
3. I want to be able to create a new account
1. So that I can have a place to store my money
4. I want to be able to deposit funds into my account
1. So that I can safely store my next paycheck
5. I want to be able to withdraw funds from my account
1. So that I can pay for things
6. I want to be able to view my account balance(s)
1. So that I know how much money I have to spend
## Known Issues
1. Currently unable to tell the difference between a wrong email/password and a non-existent account
2. Exception not caught when attempting to create a new banking account without logging in first
## Must-Have Functionalities:
1. Register new user account
- Password
- Email
- First Name
- Last Name
- An auto-generated user Id
2. Login
- Password
- Username
3. Create at least one account
- User Id
- Account Type
- Checking
- Savings
- Account Balance
4. View account balances
- Show account type
- Show account balance
5. Deposit funds
- Amount of type double
- Amount should be greater than zero
6. Withdraw Funds
- Amount of type double
- Amount should be greater than zero
- Amount should be less than the current account balance
## Minimum Features:
1. Basic validation of user input (e.g. no registration for classes outside of registration window, no negative deposits/withdrawals, no overdrafting, etc.)
2. Unit tests for all business-logic classes
3. All exceptions are properly caught and handled
4. Proper use of OOP principles
5. Database is 3rd Normal Form Compliant
6. Referential integrity (e.g. if a class is removed from the catalog, no students should be registered for it)
7. Logging messages and exceptions to a file using a logger
8. Generation of basic design documents (e.g. relational diagram, class diagram, flows, etc.)