CSC/ECE 517 Fall 2021 - E2149. Finish Github metrics integration - Reputations: Difference between revisions

From Expertiza_Wiki
Jump to navigation Jump to search
Line 5: Line 5:


==Design Patterns==
==Design Patterns==
In order to achieve the Primary Objectives while making the application more extensible, the team proposes using a more strict implementation of the '''Adapter''' design pattern to decouple the details of the Github API from the proposed Metrics model. Elements of the '''Observer''' design pattern will also come into play to ensure that once Github data is queried and stored, and an assignment has come to a close, the Metric for that Assignment is unsubscribed from the Github API. This will further decouple the dependency on API data while retaining the data for future statistical analysis and/or research studies.


==Team Action Items==
==Team Action Items==

Revision as of 01:39, 3 November 2021

Abstract

Methodology

The team has synced the revised 2021 Spring project E2111 code with the current status of the Expertiza/beta branch and has begun analyzing the existing code. Prior customer feedback has advised the team to address inextensibility/coupling issues, documentation issues, and synchronization issues. We are performing our own end-to-end analysis of the code in addition to this feedback, and have so far found numerous action items. We have separated these action items into Primary and Secondary objectives: Primary objectives are "must-haves" that need to be addressed before the existing code is mergeable. Secondary objectives are "nice-to-haves," or features that were either left out of the original project or would make the integration display more complete.

Design Patterns

In order to achieve the Primary Objectives while making the application more extensible, the team proposes using a more strict implementation of the Adapter design pattern to decouple the details of the Github API from the proposed Metrics model. Elements of the Observer design pattern will also come into play to ensure that once Github data is queried and stored, and an assignment has come to a close, the Metric for that Assignment is unsubscribed from the Github API. This will further decouple the dependency on API data while retaining the data for future statistical analysis and/or research studies.

Team Action Items

Test Plan

Functionality Walk Through

Final Design UML

OmniAuth and Github API

Methods Added or Modified

Non-Project Bugfixes

Resources

Key Links