Skip to content

Architecture Model

Emma Eagles edited this page Mar 26, 2019 · 10 revisions

Flow of Web Application

block

Architecture

Architecture

1. Student Management

The administrator is able to manage students by viewing a list of all of the students in the system. This is done by two RESTFUL GET requests that render the list of Students and Employers. From there, they can click a student and be brought to their profile, where they can view their information and an overview of the coops associated to them. This is done by executing a two GET requests that use the Student's email to retrieve their information from the Database, and a second that gets their corresponding coops.

2. Employee Management

The administrator manages the employers in the same as the students. They can see a list of employers on the homepage as described above with a list rendering GET request, as well as view an individual profile by clicking on an Employer. By choosing an employer, two GET requests are issued. They both use the Employer's email to fetch their information and associated coops that are then shown on the page.

3. Coop Management

The administrator has the ability to manage the Coops of a Student by either viewing the list of coop terms associated to the Student or Employer from their profile, or by clicking one and viewing the full coop page. The page is rendered by multiple GET requests that retrieve the information about the coop by the unique ID as well as the associated reports.

4. Report Management

The administrator can manage reports by changing their type, status or due date. This is done by navigating to the Report page through the list of Reports on a Coop page and clicking a report. This will open a page that displays information about the report, as well as dropdowns that allow for Status/Type updates, and due date changes. The page is filled with data by a GET request that retrieves report information by utilizing the unique ID of of Report. These fields update the corresponding fields seen in the database for that report by using PUT requests that specify the ID of the report being modified and the new value.

5. Notification Creation

Notifications can be sent to Employers and Students by selecting them from the list on the Home Page, then clicking the 'Send Notifications' button. This will direct the Administrator to a page where they can write a message for the Notification. Clicking send creates a Notification in the database by a POST request that is associated to the Administrator, and the selected Students/Employers.

6. Statistic Generation

The administrator can generate statistics from the Home Page of the Cooperator application. From the dropdowns on the top of the page, they must select the range of terms they wish to see statistics for and they can also choose to see only coops that are a specific number of a Student (ex: their second coop term). Then, by clicking the 'Generate Statistics' button, they are redirected to a page that displays graphs showing various statistics based on the statuses and types of Coops and Reports for the Students in the system. These results are filtered by the specifications chosen and are rendered by a GET request.