refactor : Refactor open issues logic into service module and integrate UI
What does this MR do and why?
This MR refactors the Open Issues functionality by separating the business logic into a dedicated service module (profile_service.py) and keeping UI-related code inside profile_ui.py.
Why this change?
- Improves code structure and maintainability
- Follows clean architecture principles
- Makes the logic reusable, testable, and easy to extend
- Keeps
app.pyclean by delegating logic to service functions
References
- Related feature: Open Issues functionality
- Refactor request as suggested by mentor for modular and clean code structure
Screenshots or screen recordings
| Before | After |
|---|---|
| Open issues logic was inside main UI code | Logic moved to profile_service.py and UI calls it from profile_ui.py
|
(Optional: You can add actual screenshots if UI changed visibly.)
How to set up and validate locally
-
Clone the repository:
git clone <repo_url> cd gitlab-compliance-checker -
Create virtual environment and install dependencies:
python3 -m venv venv source venv/bin/activate pip install -r requirements.txt -
Run the Streamlit application:
streamlit run app.py -
Open browser and navigate to:
http://localhost:8501 -
Enter a GitLab username and verify:
- Open issues count
- Issues summary
- Detailed issues list
MR acceptance checklist
-
Code follows clean architecture principles -
Business logic separated into service module -
No breaking changes -
UI functionality working correctly -
Code is readable and maintainable
Summary (One-liner for your sir)
Refactored Open Issues functionality by moving business logic into a separate service module and integrating it cleanly with the UI for better maintainability and modular design.
Edited by Pavani Pothuganti