Scenario

You are part of a team working on a new application. The application, called “Info Tracker” is designed to keep track of different types of personal information for people. There are other products like this on the market. The difference in this application is that it is extendable using plug-in modules to support different types of information that people want to record.

At the moment, the interfaces have been designed and the initial version of the main application has been written. One plug-in has been written in order to test the main application. When run, the application looks like the following: See image.

In the left-hand pane, there is a tree of categories and, under that category; there are pieces of information (known as Info Cards in the application). In the example above, you can see three categories – Note, Credit Card and Password. If you double-click on one of the Info Cards, you will see the information associated with that card. For example, if you double-click on the Password card “Amazon.com”, you will see the information that the user has stored about their account on Amazon as follows: See image.

Info Cards can either be displayed in the right-hand pane, or if the information could be too big to fit, it can be displayed in a separate window (if you look at a Note info card, you will see that it is displayed in a separate window). The decision about where to display the information is left to the plug-in module that handles that category of Info Card.

If you right-click on a card listed in the tree, a popup menu is displayed that allows you to Display, Edit or Delete the card. If you select Edit, a modal dialog box is displayed that enables you to edit the data associated with that card. For example, if you select Edit on the password card shown above, you would see the following dialog box displayed: See image.

If you right-click on a category in the tree, you can add a new card of that category. Or, if there are currently no cards stored of the type you want, you can select New Card from the Card menu and a dialog box will be displayed listing all of the categories supported, along with a description, which you can choose from. This is seen below: See image.

Task

A lot of the application has already been written. The main user interface code exists (and is supplied to you) as well as the code that loads and saves Info Cards. Although the example shown above shows Credit Card as one of the categories supported, this info card type has not yet been implemented. Only Password and Note are currently implemented. Your task is to write the plug-in module that will handle the Credit Card info card type.

Academic Honesty!
It is not our intention to break the school's academic policy. Posted solutions are meant to be used as a reference and should not be submitted as is. We are not held liable for any misuse of the solutions. Please see the frequently asked questions page for further questions and inquiries.
Kindly complete the form. Please provide a valid email address and we will get back to you within 24 hours. Payment is through PayPal, Buy me a Coffee or Cryptocurrency. We are a nonprofit organization however we need funds to keep this organization operating and to be able to complete our research and development projects.