This is a iPad and iPhone application to create a specialized contact management system. The iPad application will interact with a cloud database (Amazon DynamoDB). The list of contacts will be pre-loaded in the database, at first this will be limited to a few hundred records. There are a variety of contact details that will also be stored in the database. These records will be associated with a single contact, and there may be many of a particular type.
PLEASE OPEN ATTACHED FILE to view diagrams.
In the diagram above, the smaller boxes indicate transactions that are stored for the contacts. The App will be designed to allow the organization to simply and efficiently define the Name, Type, and data fields of each transaction type. In essence, each transaction type will be a small form. Once written, it will be impossible to remove a transaction. Users of the iOS app will be able to add new transactions of each type, by selecting the customer, and filling in the form. Transaction forms may include text, photographs, logos, and audio recordings if defined in the transaction type.
The user interface will primarily consist of a large grid. The vertical axis will be the contact list, and the horizontal axis will be each of the transaction types. Each cell in the grid will display the number of transaction records of that type, for that customer. In addition, the cells will be color coded based on the chronological sequence of the transactions. A mockup of the display is as follows (created in Excel but expected to be implemented in a iOS style):
The implementation of this grid should conform to iOS user interface expectations, it will be scrollable both horizontally and vertically by drag gestures. The titles and contact names shall remain fixed. The grid and all other screens shall conform to device rotation (portrait and landscape). All the cells in the grid (except titles and contact names) will respond to a tap. By tapping on a cell, the display will switch to a form for the transaction type. Even empty cells will be tappable, for instance to add a new record.
There will be a different form for each transaction type. The most recent record for that transaction type will be displayed on the form. By finger swipe, the record may be advanced forward and backward based on the number of transactions of that type (for that customer) that have been recorded. The forms portion of the application might use HTML or another method to define attractive screens.
Only new records may be edited. When a new record is created, there will be a [COMMIT] button at the bottom of the form.
This is a production application and will be placed into immediate use in an organization. The finished application needs to be polished and reliable, as well as very simple to use. The App will be designed and compiled for both iPhone and iPad platforms, although the iPad is the preferred device. The App will interact directly with AWS Dynamo DB through the Amazon API. There will be no middle layer. Predefined DynamoDB data structure are available, but the developer may wish to modify them to achieve functionality and performance.
Schedule: As soon as possible.
There may be more than five transaction types. Definition of the transaction types will be completely dependent on data structures. For instance:
The developer will define the data structure to represent these and other transaction types in the database and provide a configuration function to allow the organization to set up its own transactions.