1. Introduction
A team software project cannot be judged only by whether the final program works. The process also matters: splitting work into issues, isolating changes in branches, automated testing, code review, and keeping the main branch usable. These habits are a practical part of DevOps and must be practised on concrete changes rather than learned only from lectures.
Software Engineering Fundamentals and DevOps Fundamentals at KPI FEI TUKE use GitLab for team assignments. Evidence for one task is not located on one page. It is distributed across an issue, merge-request description, discussions, commit history, and the CI/CD process result.
Manual inspection therefore requires instructors to reopen projects and combine data from several screens. A commit count does not show whether a student used a feature branch, responded to feedback, or reviewed a peer's change. A successful CI/CD process does not prove that a change added tests. The data exist, but the instructor lacks a view organised around pedagogical questions.
GitPulse is intended to pre-process those process traces while retaining a link to the original GitLab artefact. It must not replace instructor judgement or assign grades automatically.
1.1 Motivation
The core motivation is the gap between data already stored by GitLab and the effort required to interpret it for teaching. Webhooks announce selected changes and the REST API can provide detailed current state.
The expected benefits of the design are:
- less routine inspection for unambiguous data-backed questions;
- earlier feedback before a task is closed;
- consistent calculation of technical conditions with visible limitations;
- navigation from course to group, project, and student without losing GitLab evidence;
- safe practice of conflicts, Dockerfile problems, and CI failures in separate modules.
A colour without an explanation would merely replace one opaque check with another. Users must see why a result was produced and be able to verify it.
1.2 Task formulation
The thesis aims to design and verify tools that support DevOps fundamentals in team projects hosted on GitLab. The partial tasks are to:
- analyse course workflows and separate machine-verifiable conditions from questions that require expert judgement;
- compare existing assessment, repository-analysis, and change-checking tools;
- verify which data are available from GitLab webhooks and REST API;
- design the platform architecture, data flow, and security boundaries;
- build a prototype for course import, project synchronisation, process checks, and instructor-facing results;
- prepare optional conflict, Dockerfile, and CI-failure exercises;
- design a later evaluation that separates technical correctness from pedagogical impact.
The current submission ends with the design and a functional prototype. It does not claim time savings, improved student outcomes, or successful classroom deployment. Those conclusions require data collection and target-user testing.