PitchHut logo
Years in Review
Create insightful annual reports for GitHub organizations.
Pitch

Years in Review offers an elegant solution for generating annual reports that summarize your GitHub organization's development activities. Analyze commits, pull requests, and top contributors while visualizing language usage and monthly activity. Uncover fun insights about your team's performance, making it easy to share achievements and trends.

Description

The Years in Review project enables the generation of visually appealing annual review reports for GitHub organizations. It provides insights into development activity, showcasing various aspects such as commits, pull requests, top contributors, language usage, and intriguing statistics about the team's contributions.

Key Features

  • Year-by-Year Reviews: Easy navigation through each year's development activity.
  • All-Time Statistics: Access cumulative stats across multiple years.
  • Top Contributors: A leaderboard highlighting commits, PR authors, and reviewers.
  • Monthly Activity Charts: Visual representations of commit patterns throughout each year.
  • Language Breakdown: Identify the programming languages most utilized by the team.
  • Repository Stats: Detailed activity breakdowns by individual repositories.
  • Fun Facts: Discover interesting insights such as the busiest days and longest contribution streaks.

Project Overview

The repository is structured to facilitate efficient synchronization with GitHub, incorporating a robust backend written in Go and a dynamic frontend built using Svelte. Below is an outline of the key folders in the project structure:

years-in-review/
├── cmd/
│   ├── server/         # HTTP server with integrated frontend
│   └── sync/           # Tool for syncing GitHub data
├── internal/
│   ├── db/             # SQLite database integration
│   ├── github/         # GitHub API client features
│   ├── handlers/       # HTTP request processing
│   └── models/         # Data structuring
├── web/                # Svelte-based frontend
│   └── src/
│       ├── lib/        # Components for charts, stats, and contributors
│       └── App.svelte  # Main application interface
├── data/               # SQLite database (contained in .gitignore)
├── Makefile
└── go.mod

How It Works

  1. Synchronization: The synchronization tool fetches an organization's repositories, commits, pull requests, issues, and reviews through the GitHub API, storing the data in a local SQLite database.
  2. Serving: The server provides a REST API for the frontend and handles static asset delivery.
  3. Visualization: The Svelte-based frontend presents interactive dashboards filled with charts and statistical data, providing a comprehensive view of the organization's development landscape.

API Endpoints

The project includes several API endpoints to facilitate data retrieval, such as:

  • GET /api/health: Check the health of the application.
  • GET /api/org: Obtain an overview of the organization with available years of data.
  • GET /api/year/:year: Retrieve statistics for a specified year.
  • GET /api/total: Access all-time organization statistics.

By utilizing this project, teams can effortlessly generate annual reviews that not only highlight their achievements but also provide valuable insights into their development patterns.

0 comments

No comments yet.

Sign in to be the first to comment.