How monash-fit3170/2025w1-commitment works
gitgauge is a native desktop app for assessing student contributions in Git repositories. The main workflow is to select or enter a repository, verify and clone it when needed, load branches and contributor data, inspect and adjust contribution-based scores, then populate and save an uploaded grading sheet. The overview also supports branch/date/regex filtering and configuration-based identity mapping. Backend command ownership is visible in the Tauri registration and frontend call sites; several backend implementations and route details were not sampled, so uncertain internal links are omitted.
Main entry points: overview-page/+page.svelte Analysis workspace · routes/+page.svelte Repository entry · metrics.ts Repository operations · repositories.rs Clone and refresh
Components 22
Repository access
- Repository entry
src/routes/+page.svelte - Repository operations
src/lib/metrics.ts - URL verification
src/lib/github_url_verifier.js - Token retry
src/lib/stores/auth.ts
Contribution analysis
- Analysis workspace
src/routes/overview-page/+page.svelte - Contribution metrics
src/lib/metrics.ts - Analysis controls
src/lib/components/overview-page/Heading.svelte - Commit graph
src/lib/components/overview-page/CommitGraph.svelte - Metric visualization
src/lib/components/overview-page/Graph.svelte - Contributor analysis
src/lib/components/overview-page/ContributorAnalysis.svelte
Grading workflow
- Grading sheet upload
src/lib/components/overview-page/UploadFileModal.svelte - Sheet parsing
src/lib/utils/csv.ts - Score population
src/lib/utils/grading.ts
Desktop backend
- Clone and refresh
src-tauri/src/repositories.rs - Branch loading
src-tauri/src/branches.rs - Contributor loading
src-tauri/src/contributor.rs - Manifest state
src-tauri/src/manifest.rs - Workspace persistence
src/lib/utils/localstorage.ts
Other components
- Teaching assistant
- Local repository files
- Git hosting service
- Grading file
Connections 27
- Teaching assistant → Repository entry: selects repository
- Repository entry → URL verification: checks URL
- Repository entry → Repository operations: loads repository
- Repository entry → Manifest state: reads manifest
- Repository operations → Clone and refresh: clones repository
- Repository operations → Branch loading: loads branches
- Repository operations → Contributor loading: loads contributors
- Clone and refresh → Local repository files: writes repository
- Clone and refresh → Git hosting service: clones from
- Repository entry → Token retry: requests token retry
- Token retry → Clone and refresh: retries clone
- Repository entry → Analysis workspace: opens workspace
- Analysis workspace → Repository operations: reloads data
- Analysis workspace → Analysis controls: configures analysis
- Analysis controls → Contributor loading: checks regex
- Analysis controls → Manifest state: saves mapping
- Analysis workspace → Contribution metrics: filters contributors
- Analysis workspace → Commit graph: supplies commit data
- Analysis workspace → Contributor analysis: supplies contributors
- Contributor analysis → Metric visualization: renders metrics
- Contribution metrics → Metric visualization: calculates scaling
- Teaching assistant → Grading sheet upload: uploads sheet
- Grading sheet upload → Sheet parsing: parses headers
- Analysis workspace → Score population: populates scores
- Score population → Grading file: saves populated file
- Analysis workspace → Workspace persistence: loads and saves state
- Grading sheet upload → Grading file: reads sheet