Skip to content

feat: add multi-repository compliance validation with excel reporting

Praveena Veeranki requested to merge prav into main

What does this MR do?

This Merge Request enhances the GitLab Compliance Checker by adding multi-project validation, categorized compliance checks, and Excel-based reporting.

Earlier, the tool supported validating only a single repository with basic checks. This MR extends the functionality to support batch repository scanning, improved README validation, and clear compliance reporting, making the tool more scalable and practical for real-world use.

Motivation / Use Case

The previous implementation was limited when reviewing multiple repositories, such as:

Academic project evaluations

Hackathons

Classroom or large-scale code reviews

This enhancement allows reviewers to:

Validate multiple GitLab repositories at once

Easily identify missing compliance requirements

Export structured results for offline review and record keeping

This significantly reduces manual effort and improves clarity.

Implementation Notes

Added support for batch processing of multiple GitLab repository links

Implemented categorized compliance checks, grouped as:

Common requirements

Technical requirements

Project requirements

Enhanced README.md validation to detect:

Missing README files

Empty README files

README quality based on essential sections

Added detection for important files such as .gitignore

Implemented a combined Excel export option using Pandas and OpenPyXL

Fixed runtime issues and resolved missing dependency errors

Improved Streamlit UI flow and internal logic

Changes are backward compatible with existing single-repository validation

How to Test

Pull this branch locally

Set up the environment:

python3 -m venv venv source venv/bin/activate pip install -r requirements.txt pip install pandas openpyxl

Configure .env file:

GITLAB_URL=your_gitlab_url GITLAB_TOKEN=your_access_token

Run the application:

streamlit run app.py

Verify the following:

Single repository compliance check works

Batch Mode accepts multiple repository links

Excel report downloads correctly

README missing and empty detection works

Compliance suggestions appear for missing files (e.g., .gitignore)

Checklist

Feature is documented in README

Code is clean and readable

No breaking changes introduced

Features tested locally

Excel export verified

README and compliance suggestions validated

Related Issues or Discussions

Internal enhancement for GitLab Compliance Checker

No external issue linked

Edited by Praveena Veeranki

Merge request reports

Loading