Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
178 commits
Select commit Hold shift + click to select a range
b12480a
reflection on implementation
awura-ma Jan 25, 2026
f1fb7d3
ferge remote-tracking branch 'origin/main' into implementation-reflec…
awura-ma Jan 27, 2026
100424e
reflection on team 22 implementation
awura-ma Jan 27, 2026
70003ec
Merge pull request #383 from thaafei/Dev/API-Update
hamidizf Jan 28, 2026
9b8f7f1
removed https proxy for test
hamidizf Jan 28, 2026
d107471
DB needs maxlength for paper_name
hamidizf Jan 28, 2026
b44bcc1
update migration
hamidizf Jan 28, 2026
31c3ded
test is local issue
hamidizf Jan 28, 2026
5e4b7ab
revert back changes
hamidizf Jan 28, 2026
a66e8a1
migrate
hamidizf Jan 28, 2026
11b122c
Merge pull request #355 from thaafei/implementation-reflection
awura-ma Jan 28, 2026
00327cf
contribution for Rev 0
awura-ma Jan 28, 2026
b530308
added edit on metrics page, adjusted table to be aligned with edit me…
hamidizf Jan 29, 2026
6436715
update docker-compose and nginx config to redirect to our domain
hamidizf Jan 29, 2026
8b5b2ba
nginx update
hamidizf Jan 29, 2026
4670d8a
updated docker and nginx
hamidizf Jan 29, 2026
6f51fd4
fixed typo in docker compose
hamidizf Jan 29, 2026
bee25fd
modal on edit and add metric, aligned modal styles
hamidizf Jan 29, 2026
a79e831
aligned table with other pages
hamidizf Jan 29, 2026
6fe79df
cleaned up table on add library page
hamidizf Jan 29, 2026
80e9755
Merge pull request #385 from thaafei/Rev0contribution
awura-ma Jan 29, 2026
db1cbc4
Add/Update PDF for changed LaTeX file: Rev0_Team_Contrib.tex
awura-ma Jan 29, 2026
82d5e73
Metric page and Metric URLS
hamidizf Jan 29, 2026
58893d4
libraries url
hamidizf Jan 29, 2026
a1753ac
deleted views
hamidizf Jan 29, 2026
25206f3
metric values urls
hamidizf Jan 29, 2026
e96e7cd
domain url fix
hamidizf Jan 29, 2026
f1367ec
align tests
hamidizf Jan 29, 2026
c1e8e40
fix broken unit test
thaafei Jan 29, 2026
bba3eff
remove update-values library test to library_metric_values test file
thaafei Jan 29, 2026
93f3b2a
Merge pull request #388 from thaafei/Dev/mass-upload
hamidizf Jan 29, 2026
fd4b14a
Initial admin page with edit. Adjusted test_db to refelct logic
thaafei Jan 29, 2026
fb8764b
update of table ui
thaafei Jan 29, 2026
137478c
Updated buttons based on who can see business logic.
thaafei Jan 29, 2026
af945e2
Update select labels to black colour via class
thaafei Jan 29, 2026
2bc7887
Create success popup component
thaafei Jan 30, 2026
6fd4432
Add Unit test
thaafei Jan 30, 2026
35a4b76
Update edit user to include email and username
thaafei Jan 30, 2026
58f37e1
scc added
hamidizf Jan 30, 2026
574339e
test push
hamidizf Jan 31, 2026
1f72b29
added a new page for the category weights
hatoumg Jan 31, 2026
c080409
can't save something that is more than a total sum of 1
hatoumg Jan 31, 2026
19827b7
removed table from main
hatoumg Jan 31, 2026
dc8976d
added slider and view for the weights
hatoumg Jan 31, 2026
cb79848
reformated weight page
hatoumg Jan 31, 2026
06ec80a
updated the graph
hatoumg Jan 31, 2026
01fcd47
adding gitstats
hamidizf Jan 31, 2026
0fab514
added url path for report to library
hamidizf Jan 31, 2026
3ee0b0d
edited edit page to have status on page, not completed yet
hamidizf Jan 31, 2026
fc04d43
added gitstats analysis id since running on a separate worker
hamidizf Jan 31, 2026
8ab1b86
added gitstats path to settings
hamidizf Jan 31, 2026
b48ee79
added second worker
hamidizf Jan 31, 2026
42b1dea
docker, nginx, and docker file update to take results
hamidizf Jan 31, 2026
f10b048
disable save button if it doesn't add up to 100
hatoumg Jan 31, 2026
9a79ba3
added table
hatoumg Jan 31, 2026
3585b77
Admin Page (#393)
thaafei Feb 1, 2026
3e6f010
only graph top 10 graphs
hatoumg Feb 1, 2026
abcb382
updates the values
hatoumg Feb 1, 2026
c0de112
Merge branch 'Tool/Dev' into update_weight_criteria
hatoumg Feb 1, 2026
1b6d76d
allow user to update their information
hatoumg Feb 1, 2026
7f9c534
Merge branch 'Tool/Dev' into update_user_information
hatoumg Feb 2, 2026
89049ea
added test for ahp calculation
hatoumg Feb 2, 2026
4645ef9
updated services, tasks and edit page
hamidizf Feb 2, 2026
dac56e8
Initial page changes
thaafei Feb 3, 2026
1d7aca1
add react plotly
thaafei Feb 3, 2026
a67f97c
adding url to metric value
hamidizf Feb 3, 2026
b294fa8
initial setup and update test fixture
thaafei Feb 3, 2026
a95cf30
pass library id
hamidizf Feb 3, 2026
3e4b211
display report under column edit page, add modal
hamidizf Feb 3, 2026
bca0284
Initial setup to allow for downloading all graphs as svg
thaafei Feb 3, 2026
adeb647
updated docker compose and nginx config
hamidizf Feb 3, 2026
ca95136
update to export as zip
thaafei Feb 3, 2026
f1a0694
revert celery command
hamidizf Feb 3, 2026
d8ca7dc
update gitstats
hamidizf Feb 3, 2026
35d52a1
updated dockerfile to fix scc installation issue
hamidizf Feb 3, 2026
c817595
restrict library info editing on edit metrics value page
hamidizf Feb 3, 2026
738ac07
view report on comparison tool page
hamidizf Feb 3, 2026
379546d
Update to category selection on metrics page
thaafei Feb 3, 2026
daa1ac1
test added for tasks.py
hamidizf Feb 3, 2026
a3e63e8
test added for services.py
hamidizf Feb 3, 2026
be870a4
separated test for metric values model and view and updated library t…
hamidizf Feb 3, 2026
69f3978
test added for library model
hamidizf Feb 3, 2026
4f7a3ef
test updated for analysis and github_http
hamidizf Feb 3, 2026
129a32b
remove unneeded file
thaafei Feb 4, 2026
39d153a
For now
thaafei Feb 4, 2026
585302d
Functionality done
thaafei Feb 4, 2026
40611b2
fix styling
thaafei Feb 4, 2026
577dbcb
updated celery time and docker compose to remove concurrency due to c…
hamidizf Feb 4, 2026
484a798
Dev/GitHub data (#401)
hamidizf Feb 4, 2026
b28b062
Preview Visualizations and Export Visualizations (#410)
thaafei Feb 4, 2026
502d5b7
Adding the profile page
hatoumg Feb 4, 2026
4ec5e20
added message and change format of the buttons
hatoumg Feb 4, 2026
44dfb25
Merge branch 'update_weight_criteria' of https://github.com/thaafei/D…
hatoumg Feb 4, 2026
6bd82de
increased timeout
hamidizf Feb 4, 2026
a6f110e
Merge pull request #402 from thaafei/update_weight_criteria
hamidizf Feb 4, 2026
73dce15
Merge pull request #409 from thaafei/test_ahp
hamidizf Feb 4, 2026
3c66a3f
increase time limit on gitstats task
hamidizf Feb 4, 2026
c67093e
updated so the domain shows up
hatoumg Feb 4, 2026
244d1a7
matched updated buttons
hatoumg Feb 4, 2026
b11c910
Merge pull request #412 from thaafei/test_ahp
hamidizf Feb 4, 2026
17553f2
added test cases
hatoumg Feb 4, 2026
08777d4
preselect the domains
hatoumg Feb 4, 2026
8a305d5
added a back button to the category weights page
hatoumg Feb 4, 2026
5d247dc
Merge branch 'Dev/GithubData' into Tool/Dev
hamidizf Feb 4, 2026
579fbd9
added tests and changed logic
hatoumg Feb 4, 2026
c498f82
fixed the red box issue
hatoumg Feb 4, 2026
e559f16
Merge branch 'Tool/Dev' into test_ahp
hatoumg Feb 4, 2026
8a8706b
removed old work
hatoumg Feb 4, 2026
d836d95
Merge branch 'test_ahp' of https://github.com/thaafei/DomainX into te…
hatoumg Feb 4, 2026
37f4de5
Merge branch 'Tool/Dev' into fei-visualization
thaafei Feb 4, 2026
898bdfe
Merge branch 'Tool/Dev' into fei-visualization
thaafei Feb 4, 2026
16a7a4c
Update to visualizations
thaafei Feb 4, 2026
36f7cde
Add reset weights button
thaafei Feb 4, 2026
7d0a24b
added library edit, success message on page, test for update (#417)
hamidizf Feb 4, 2026
0b0e767
Merge pull request #416 from thaafei/fei-visualization
hamidizf Feb 4, 2026
22627cc
Merge branch 'Tool/Dev' into test_ahp
thaafei Feb 4, 2026
a39f91a
Changed Profile Page (#415)
hatoumg Feb 4, 2026
34b52eb
Merge branch 'main' into Tool/Dev
thaafei Feb 4, 2026
536bb6d
Update to not visualize bool and text type metrics
thaafei Feb 4, 2026
8026c49
Update readme - Haniye
thaafei Feb 4, 2026
9d713ca
celery settings
hamidizf Feb 5, 2026
1aea591
added back mstakenly removed parts adjusted celery timing
hamidizf Feb 5, 2026
2a20f7e
increase cookie time for login
hamidizf Feb 17, 2026
9b5906a
export csv
hamidizf Feb 17, 2026
4e9dc69
favicon and title added
hamidizf Feb 17, 2026
89e4af9
button ui and page title
hamidizf Feb 17, 2026
7d31172
changed the frontend for the weight categories
hatoumg Feb 17, 2026
2129ae3
Merge pull request #430 from thaafei/Dev/Export
hatoumg Feb 17, 2026
1ce45cb
made sure it was saved in the backend
hatoumg Feb 18, 2026
29f6566
Merge branch 'test_ahp' of https://github.com/thaafei/DomainX into te…
hatoumg Feb 18, 2026
84bf70b
added dropdown menu
hatoumg Feb 18, 2026
99eb400
Update visualization page
thaafei Feb 27, 2026
94b30b7
Add playwright for frontend testing (#432)
thaafei Feb 27, 2026
5736ae6
Merge branch 'Tool/Dev' into test_ahp
hatoumg Feb 28, 2026
ede0fe5
changed nav
hatoumg Feb 28, 2026
c98ef06
Merge branch 'test_ahp' of https://github.com/thaafei/DomainX into te…
hatoumg Feb 28, 2026
a87abae
Merge pull request #433 from thaafei/fei/remove-ahp-from-visualization
hatoumg Mar 2, 2026
eb321cd
added graphs for ahp and download to main page
hatoumg Mar 4, 2026
61508fe
removed commented out code
hatoumg Mar 5, 2026
a0d94c9
Merge pull request #444 from thaafei/ghena/ahp_graphs
hamidizf Mar 5, 2026
8510fdf
removed the all from the download to make it understandable
hatoumg Mar 5, 2026
ec9665c
Merge pull request #445 from thaafei/ghena/ahp_graphs
hamidizf Mar 5, 2026
7533ede
Merge pull request #431 from thaafei/test_ahp
hamidizf Mar 5, 2026
2c1cf4d
updated lock file
hamidizf Mar 5, 2026
669eb94
Merge pull request #446 from thaafei/test_ahp
hamidizf Mar 5, 2026
24aa4f0
increase length of text for metric desc and programming language
hamidizf Mar 7, 2026
5784e74
updated model to add source type and metric key for github values
hamidizf Mar 11, 2026
190b1d0
auto metric json file for github values
hamidizf Mar 11, 2026
4cb266e
fetch github metrics
hamidizf Mar 11, 2026
f0fc850
update service and task
hamidizf Mar 11, 2026
ac436dd
return metric key
hamidizf Mar 11, 2026
1d400dd
update UI
hamidizf Mar 11, 2026
5e8b7bb
edit on popup
hamidizf Mar 11, 2026
29fb8a9
restrict user on metric value type
hamidizf Mar 11, 2026
ff6063a
tests added and updated
hamidizf Mar 11, 2026
4b08a4e
changed url to github_url to add url to library as well
hamidizf Mar 11, 2026
4fdd6db
updated backend
hamidizf Mar 11, 2026
b1529e9
updated tests
hamidizf Mar 11, 2026
bede530
updated ui
hamidizf Mar 11, 2026
6e1caa0
add proper feedback message
hamidizf Mar 11, 2026
d7f8961
updated test
hamidizf Mar 11, 2026
3622c4d
add url column
hamidizf Mar 11, 2026
936308c
update backend
hamidizf Mar 11, 2026
a2e7349
update ui
hamidizf Mar 11, 2026
70ce3b9
update test
hamidizf Mar 11, 2026
d5dbf04
update table ui
hamidizf Mar 11, 2026
0e2347d
update readme.m
hamidizf Mar 11, 2026
16f94bb
align tables
hamidizf Mar 11, 2026
d94040b
sticky fix
hamidizf Mar 11, 2026
5c9ff3b
button
hamidizf Mar 11, 2026
cfa3b07
display desc and columns being affected
hamidizf Mar 11, 2026
6058fa3
reduce first two columns size
hamidizf Mar 11, 2026
2dc08e9
Merge pull request #460 from thaafei/Dev/MetricType
hatoumg Mar 11, 2026
8bacb61
added descriptions to frontend
hatoumg Mar 11, 2026
8b54ed4
Added metric desctiption in comparison table
hatoumg Mar 15, 2026
ef54376
fixed testing
hatoumg Mar 15, 2026
dd7aeb2
Add to csv
hatoumg Mar 15, 2026
d699d9b
Merge pull request #474 from thaafei/Dev/descp
hamidizf Mar 15, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 27 additions & 2 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ on:
pull_request:

jobs:
test:
backend-test:
runs-on: ubuntu-latest

steps:
Expand Down Expand Up @@ -46,4 +46,29 @@ jobs:
uses: actions/upload-artifact@v4
with:
name: coverage-html
path: htmlcov/
path: htmlcov/
frontend-test:
timeout-minutes: 60
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: lts/*
- name: Install dependencies and Run Playwright Tests
run: |
cd src/frontend/
npm install
cd ../../test/frontend/
npm install
npx playwright install --with-deps
- name: Run Playwright Tests
run: |
cd test/frontend
npx playwright test
- uses: actions/upload-artifact@v4
if: ${{ !cancelled() }}
with:
name: playwright-report
path: playwright-report/
retention-days: 30
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -298,3 +298,6 @@ db.sqlite3
*.rdb
dump.rdb
*venv



Binary file modified docs/Design/SoftDetailedDes/MIS.pdf
Binary file not shown.
28 changes: 28 additions & 0 deletions docs/Design/SoftDetailedDes/MIS.tex
Original file line number Diff line number Diff line change
Expand Up @@ -2394,5 +2394,33 @@ \section*{Appendix --- Reflection}
(LO\_Explores)
\end{enumerate}

\textbf{Peer Implementation Reflection:}

Implementing team 25's module was very manageable because the MIS clearly listed the exported constants and exported access
programs which gave a strong starting point for the structure and naming. The most helpful part of the MIS was the access routine,
since it clearly stated the expected conversion approach (repeated division and remainder for decimal to dozenal,
and the positional evaluation for dozenal to decimals). The main challenge i think however was that the MIS did not fully define the allowed
digit-symbol mapping for the two extra dozenal digits beyond 0-9, so some of the implementation choices made required assumptions
to a level (e.g., choosing \texttt{X} and \texttt{E} as canonical symbols and supporting alternate inputs).
Another difficulty was deciding how strict i should make normalization, especially around things like handling whitespace, casing, optional
plus signs, and the leading zeros.

To improve implementability, the MIS could include explicit examples of valid and invalid dozenal
strings, plus sample inputs and outputs for each access program (including edge cases like 0, negative numbers, and error
strings). This process really helped to reinforce the importance of specifying specific or rather strict input validation rules and canonical formatting
expectations inside the MIS so people implementing do not rely on interpretation or assumption (but i guess you always have to to some extent).
Overall, implementing this module helped confirm
how small missing details in a specification can affect consistency across different implementations, but a good MIS can still make implementation manageable.

\paragraph{Reflection on Another Team's Implementation (M18).}
Team 22's implementation of our M18 Logging Module mostly matched the MIS well (same exported access programs, exceptions,
log levels, \texttt{LogEntry} fields, and the \texttt{logEvent} threshold behavior). The main issue
I noticed was around \texttt{archiveLogs()} when using \texttt{RotatingFileHandler}: rotation can happen automatically
during logging, which can make \texttt{archiveLogs()} do nothing afterward because \texttt{app.log} becomes small again.
This showed me that the MIS needs to be more explicit about how archiving should work with automatic rotation and how
compression/retention should be handled (for example, whether compression happens during rollover, and how backups are
kept and named).



\end{document}
Binary file modified docs/projMngmnt/POC_Team_Contrib.pdf
Binary file not shown.
Binary file modified docs/projMngmnt/Rev0_Team_Contrib.pdf
Binary file not shown.
212 changes: 125 additions & 87 deletions docs/projMngmnt/Rev0_Team_Contrib.tex
Original file line number Diff line number Diff line change
Expand Up @@ -24,186 +24,224 @@

\section{Demo Plans}

\wss{What will you be demonstrating}
% \wss{What will you be demonstrating}
For our Rev 0 demo, we will begin with a brief introduction
to the project and a short update on the research progress.
We will then walk through the main user flow end-to-end to
show that the core system components are integrated and
functioning. Starting from the Home page, the user navigates
to the Sign-In page and logs in. After signing in, the user
is taken to the Visualization page, where they can enter a
GitHub repository link and submit it for analysis. Our backend
retrieves repository data via the GitHub API, processes the
retrieved information, and returns results to the frontend.
We will demonstrate that outputs are successfully rendered
and that the system is usable end-to-end. The demo will also
highlight improvements since the PoC demo (e.g., more robust
data handling, clearer outputs, and a more consistent user
experience). If any planned functionality is not yet
implemented, we will state it explicitly and describe next
steps.

\section{Team Meeting Attendance}

\wss{For each team member how many team meetings have they attended over the
time period of interest. This number should be determined from the meeting
issues in the team's repo. The first entry in the table should be the total
number of team meetings held by the team.}
% \wss{For each team member how many team meetings have they attended over the
% time period of interest. This number should be determined from the meeting
% issues in the team's repo. The first entry in the table should be the total
% number of team meetings held by the team.}

\begin{table}[H]
\centering
\begin{tabular}{ll}
\toprule
\textbf{Student} & \textbf{Meetings}\\
\midrule
Total & Num\\
Name 1 & Num\\
Name 2 & Num\\
Name 3 & Num\\
Name 4 & Num\\
Name 5 & Num\\
Total & 4\\
Awurama & 4\\
Fei & 3\\
Ghena & 4\\
Haniye & 4\\
\bottomrule
\end{tabular}
\end{table}

\wss{If needed, an explanation for the counts can be provided here.}
Most communications have been made over Discord channels outside of meeting times.

\section{Supervisor/Stakeholder Meeting Attendance}

\wss{For each team member how many supervisor/stakeholder team meetings have
they attended over the time period of interest. This number should be determined
from the supervisor meeting issues in the team's repo. The first entry in the
table should be the total number of supervisor and team meetings held by the
team. If there is no supervisor, there will usually be meetings with
stakeholders (potential users) that can serve a similar purpose.}
% \wss{For each team member how many supervisor/stakeholder team meetings have
% they attended over the time period of interest. This number should be determined
% from the supervisor meeting issues in the team's repo. The first entry in the
% table should be the total number of supervisor and team meetings held by the
% team. If there is no supervisor, there will usually be meetings with
% stakeholders (potential users) that can serve a similar purpose.}

\noindent \textbf{Supervisor's Name: } [fill in this information]
\noindent \textbf{Supervisor's Name: Dr. Spencer Smith}

\begin{table}[H]
\centering
\begin{tabular}{ll}
\toprule
\textbf{Student} & \textbf{Meetings}\\
\midrule
Total & Num\\
Name 1 & Num\\
Name 2 & Num\\
Name 3 & Num\\
Name 4 & Num\\
Name 5 & Num\\
Total & 1\\
Awurama & 1\\
Fei & 1\\
Ghena & 1\\
Haniye & 1\\
\bottomrule
\end{tabular}
\end{table}

\wss{If needed, an explanation for the counts can be provided here.}
% \wss{If needed, an explanation for the counts can be provided here.}

\section{Lecture Attendance}

\wss{For each team member how many lectures have they attended over the time
period of interest. This number should be determined from the lecture issues in
the team's repo. You can find the number of lectures in the time period of
interest by looking at the
\href{https://calendar.google.com/calendar/u/0/embed?src=rnboqiaki1k2la7rpu3bn0um58@group.calendar.google.com&ctz=America/Toronto}
{Google calendar} for the capstone course.}
% \wss{For each team member how many lectures have they attended over the time
% period of interest. This number should be determined from the lecture issues in
% the team's repo. You can find the number of lectures in the time period of
% interest by looking at the
% \href{https://calendar.google.com/calendar/u/0/embed?src=rnboqiaki1k2la7rpu3bn0um58@group.calendar.google.com&ctz=America/Toronto}
% {Google calendar} for the capstone course.}

\wss{NOTE: There will be approximately 1 lecture between the POC and Rev0 demos}
% \wss{NOTE: There will be approximately 1 lecture between the POC and Rev0 demos}

\begin{table}[H]
\centering
\begin{tabular}{ll}
\toprule
\textbf{Student} & \textbf{Lectures}\\
\midrule
Total & Num\\
Name 1 & Num\\
Name 2 & Num\\
Name 3 & Num\\
Name 4 & Num\\
Name 5 & Num\\
Total & 1\\
Awurama & 0\\
Fei & 1\\
Ghena & 1\\
Haniye & 0\\
\bottomrule
\end{tabular}
\end{table}

\wss{If needed, an explanation for the lecture attendance can be provided here.}
% \wss{If needed, an explanation for the lecture attendance can be provided here.}

\section{TA Document Discussion Attendance}

\wss{For each team member how many of the informal document discussion meetings
with the TA were attended over the time period of interest.}
% \wss{For each team member how many of the informal document discussion meetings
% with the TA were attended over the time period of interest.}

\noindent \textbf{TA's Name: } [fill in this information]
\noindent \textbf{TA's Name: Tanya Djavaherpour}

\begin{table}[H]
\centering
\begin{tabular}{ll}
\toprule
\textbf{Student} & \textbf{Lectures}\\
\midrule
Total & Num\\
Name 1 & Num\\
Name 2 & Num\\
Name 3 & Num\\
Name 4 & Num\\
Name 5 & Num\\
Total & 1\\
Awurama & 1\\
Fei & 1\\
Ghena & 1\\
Haniye & 1\\
\bottomrule
\end{tabular}
\end{table}

\wss{If needed, an explanation for the attendance can be provided here.}
% \wss{If needed, an explanation for the attendance can be provided here.}

\section{Commits}

\wss{For each team member how many commits to the main branch have been made
over the time period of interest. The total is the total number of commits for
the entire team since the beginning of the term. The percentage is the
percentage of the total commits made by each team member.}
% \wss{For each team member how many commits to the main branch have been made
% over the time period of interest. The total is the total number of commits for
% the entire team since the beginning of the term. The percentage is the
% percentage of the total commits made by each team member.}

\begin{table}[H]
\centering
\begin{tabular}{lll}
\toprule
\textbf{Student} & \textbf{Commits} & \textbf{Percent}\\
\midrule
Total & Num & 100\% \\
Name 1 & Num & \% \\
Name 2 & Num & \% \\
Name 3 & Num & \% \\
Name 4 & Num & \% \\
Name 5 & Num & \% \\
Total & 44 & 100\% \\
Awurama & 18 & 41\% \\
Fei & 6 & 14\% \\
Ghena & 0 & 0\% \\
Haniye & 20 & 45\% \\
\bottomrule
\end{tabular}
\end{table}

\wss{If needed, an explanation for the counts can be provided here. For
instance, if a team member has more commits to unmerged branches, these numbers
can be provided here. If multiple people contribute to a commit, git allows for
multi-author commits.}
% \wss{If needed, an explanation for the counts can be provided here. For
% instance, if a team member has more commits to unmerged branches, these numbers
% can be provided here. If multiple people contribute to a commit, git allows for
% multi-author commits.}
\noindent\textit{Note:} These commit counts are not an accurate depiction
of overall contribution. Most development work for the tool
was completed on a separate branch and has not yet been merged
into \texttt{main}, so the \texttt{main} branch commit totals
underrepresent the actual work completed during this period.

\section{Issue Tracker}

\wss{For each team member how many issues have they authored (including open and
closed issues (O+C)) and how many have they been assigned (only counting closed
issues (C only)) over the time period of interest.}
% \wss{For each team member how many issues have they authored (including open and
% closed issues (O+C)) and how many have they been assigned (only counting closed
% issues (C only)) over the time period of interest.}

\begin{table}[H]
\centering
\begin{tabular}{lll}
\toprule
\textbf{Student} & \textbf{Authored (O+C)} & \textbf{Assigned (C only)}\\
\midrule
Name 1 & Num & Num \\
Name 2 & Num & Num \\
Name 3 & Num & Num \\
Name 4 & Num & Num \\
Name 5 & Num & Num \\
Awurama & 8 & 15 \\
Fei & 12 & 25 \\
Ghena & 43 & 4 \\
Haniye & 20 & 9 \\
\bottomrule
\end{tabular}
\end{table}

\wss{If needed, an explanation for the counts can be provided here.}
% \wss{If needed, an explanation for the counts can be provided here.}

\section{CICD}

\wss{Say how CICD is used in your project}

% \wss{Say how CICD is used in your project}
We use GitHub Actions to support both documentation
and software development workflows. For documentation,
GitHub Actions automatically builds/compiles modified
\LaTeX{} files on pull requests and merges to \texttt{main}.
Members merge changes into a feature branch after comments
are addressed. When at least two team members have approved,
the feature branch changes are merged into \texttt{main}.\\

For the software workflow, active development takes place
in our \texttt{release} branch. When changes are pushed or
a pull request is opened to update \texttt{release} or merge
into \texttt{main}, GitHub Actions runs automated checks on pull requests
(e.g., the \texttt{Run Tests} workflow) before merging. These checks help ensure changes
integrate cleanly before merging. Once the \texttt{release}
branch is stable and reviewed, it is merged into \texttt{main}.
\section{Team Charter Trigger Items}

\wss{Provide a summary of the quantified triggers identified in the team's
charter.}

\wss{Provide a list of any violations of the triggers. If the team wishes, the
violations can be summarized on aggregate, instead of naming specific team
members.}

\wss{Provide a plan to address the violations. This could include revising the
triggers, if they are found to be too weak, strong or ambiguous.}
% \wss{Provide a summary of the quantified triggers identified in the team's
% charter.}
\subsection{Summary of Triggers}
\begin{enumerate}
\item{Attending every weekly Monday virtual meeting during lecture time when there are no lectures. Unless the whole team decides to cancel}
\item{Team members expected to attend all meetings on time, fully prepared and having reviewed relevant materials and the agenda for the meeting}
\item{All deliverables must meet the team's agreed-upon standards}
\item{Deliverables must be reviewed by all assigned team members through the "reviewed" confirmation on GitHub, before deliverables are ready to be merged.}
\item{Feedback on deliverables and revisions must be made within 24 hours}
\end{enumerate}

% \wss{Provide a list of any violations of the triggers. If the team wishes, the
% violations can be summarized on aggregate, instead of naming specific team
% members.}
No present trigger violations.
% \wss{Provide a plan to address the violations. This could include revising the
% triggers, if they are found to be too weak, strong or ambiguous.}

\section{Additional Productivity Metrics}

\wss{If your team has additional metrics of productivity, please feel free to
add them to this report.}
No additional productivity metric was used by the team.
% \wss{If your team has additional metrics of productivity, please feel free to
% add them to this report.}

\end{document}
Loading
Loading