Skip to content

feat:Team analytics UI

Aravind swamy Majjuri requested to merge Aravind into feat-date-range-mapping

What does this MR do and why?

This MR introduces a Team Analytics Dashboard in Streamlit that reads team configuration from a CSV file and displays GitLab analytics at both team and individual levels.

Key Features:

  • Upload a CSV file containing:

    • team_name
    • username (GitLab usernames)
  • Displays:

    • Team-level totals:
      • Commits
      • Merge Requests
      • Issues
      • Projects
      • Groups
    • Individual-level stats for each team member
  • Adds a Date Filter (Start Date / End Date) that:

    • Filters commits, merge requests, and issues
    • Applies to both team and individual views
  • Implements:

    • Section-wise loading (Commits, Issues, MRs load independently)
    • Proper st.session_state handling
    • st.cache_data(ttl=300) for optimized API calls
    • Clear Filter button that resets:
      • Dates
      • Cached section data
      • Pagination (if applicable)

Why?

  • Improves visibility of team productivity
  • Enables configurable team management using CSV
  • Prevents duplicate API calls
  • Ensures scalable and production-ready architecture
  • Improves UX with independent section loading

References

  • GitLab API Documentation
  • Streamlit Documentation (Session State & Cache Data)
  • Internal Team Analytics Requirement

Screenshots or screen recordings

Screenshots attached below showing:

  • CSV upload section
  • Team summary view
  • Individual member analytics
  • Date filter applied
  • Clear filter functionality
Before After
No team analytics Team & Individual analytics dashboard with date filtering

How to set up and validate locally

  1. Clone the repository
    git clone <repo-url>
    cd <project-folder>

Merge request reports

Loading