The architecture comprises of JSP as the frontend, Struts as the controller, and MySQL as the backend. The database schema has been designed and implemented. Will require modifications though.
The application consists of 7 packages namely, com.beans, com.dao, com.pool, com.properties, com.utilities, com.webapps.actions, com.webapps.formbeans. Bulk of the application has been developed with the exception of the following requirements.
1) Pages with lists require pagination. Pagination is breaking a large list into several pages with all page numbers displayed at the bottom along with previous and next links.
2) A requirement is to approve contact requests; the associated JSP page (img. 3) and action class ApproveUserAction has been implemented and is semi-functioning. The modifications to the JSP include a ‘Select all’, and ‘Unselect all’ links which will either check or uncheck all the contact requests. Upon clicking the approve button the ApproveUserAction class should be invoked and all selected contact requests should be approved. Furthermore there should also be a ignore button which removes checked contact requests from the contacts database, which will require coding an action IgnoreContactRequestAction and an ignoreContactRequest method in the ContactDAO class.
3) User profile, company profile, group profile, and job posting pages require a form for creating/editing relevant information. The JSP pages for all forms and create actions have been implemented and are semi-functioning (they require to be tested and any bugs fixed).
4) User and group profiles optionally can contain a profile picture. In the current build neither users nor group owners can upload a picture to their profile or group. Therefore the create/edit user profile and group profile forms, relevant actions and DAO methods need to be modified to facilitate this feature.
5) Presently when the user clicks a create or edit profile link the link refers directly to the JSP page but best practices dictate the linking should happen through the controller, this is also required for all types of profiles.
6) The feature of editing profiles of all types need to be coded, the action classes will need to be created, the update methods (also require testing and possible bug fixes) which will be called from the action classes are present in the respective DAO classes. The respective create forms can be duplicated to serve the purpose of edit forms and the headings can be changed. The aforementioned profiles can only be edited by the user who originally created them.