Introduction
This assignment involves working on an online payment processing application with some existing code in Java that can be reused or replaced with new code as necessary. In terms of the audience, currency, address and payment solutions, you can assume the application is targeted for US customers only.
Goal
The goal of this assignment is to fortify the application in these major areas:
- Development/Coding Standards (for Project, Packages, Classes, Objects, Methods, variables, etc.)
- Organization
- Naming
- Design (OOD)
- Accessibility
- Exception Handling
- Logging
- Validations
- Usage of
- Data Structures
- Design Patterns
- Implementation Improvements
- Performance
- Concurrency
- Re-usability
- Security
- Expanding Application Scope
- Add more modules (not necessarily with implementations) to cover other interactions imaginable as part of a payment processing application.
Testing
Add necessary test cases for various aspects of your application ensuring edge cases are also handled.
Notes
- Expect to spend around 2 hours on this assignment
- State your assumptions
- Provide comments on changes you make (as necessary)
- Feel free to use 3rd party libraries/APIs
- You may choose to rewrite in a different language of choice