Skip to content

Latest commit

 

History

History
50 lines (30 loc) · 2.09 KB

File metadata and controls

50 lines (30 loc) · 2.09 KB

Welcome to OSS_Dev_Analytics

Welcome to the team! This project is dedicated to helping contributors understand the health and efficiency of open-source communities, specifically the Open Source with SLU (OSS-SLU) community. We transform raw GitHub data—issues, pull requests, and commits—into actionable insights.

Project Architecture

The project is currently uses a React frontend site with Vite. The backend is a Python-based pipeline that processes data for visualization.

  1. Data Collection & Preprocessing

Our backend uses a series of scripts to fetch and process data:

  • collectData.py: Main entry point for testing and running data collection across different repositories.

  • sprintFiltering.py: Filters GitHub data based on two-week sprint windows for the 2026 calendar year.

  • formatJSON.py: Aggregates raw data into a structured JSON format and calculates metrics like average time to close/merge and commit velocity.

  1. Key Metrics Tracked

We focus on three primary data streams:

  • Pull Requests: Tracks status, additions, deletions, and time to merge (in hours).

  • Issues: Measures lead time (creation to close) and cycle time (assignment to close).

  • Commits: Tracks commit frequency and daily velocity.

Please see our Coding Conventions before contributing

Setup Instructions

Prerequisites

  • Python 3.x: Ensure you have a modern version of Python installed.
  • Node.js: Required for the new React/Vite frontend.
  • GitHub Personal Access Token (PAT): You will need a Personal Access Token for API authentication.

Backend Configuration

Authentication: Ensure your GIT_TOKEN is configured in config/.env or your local environment.

Dependencies: Install required packages such as pandas and PyGithub to run the collection scripts.

Local Testing: You can run python collectData.py to generate a test JSON file (e.g., oss-slu_lrda_mobile.json) for the frontend to consume

Automated Frontend and Backend Setup

To automatically download all necessary Python dependencies, run the following command in your terminal:

chmod +x setup.sh
./setup.sh