Skip to content

Repository files navigation

AOSSIE

OrgExplorer

Website Discord License


OrgExplorer transforms GitHub organizations into interactive, visual intelligence dashboards. Explore repository relationships, contributor networks, activity trends, risk metrics, and organizational healthβ€”all without leaving your browser.

Key Insights

  • Repository relationship mapping
  • Contributor collaboration networks
  • Activity trends and growth patterns
  • Bus factor & single-point-of-failure detection
  • Technology stack distribution
  • Real-time organizational metrics

πŸš€ Features

  • Fully Browser-Based β€” Runs entirely in the browser with GitHub's REST API. No backend server required.

  • Organization Dashboard β€” Overview of repositories, stars, contributors, creation timeline, tech stack, and activity metrics.

  • Repository Analytics β€” Deep insights into repository health, commit frequency, contributor density, issue trends, and language composition.

  • Contributor Network Visualization β€” Graph-based view of how contributors collaborate across repositories.

  • Bus Factor & Risk Detection β€” Identify single points of failure and contributor concentration risks.

  • Activity & Growth Trends β€” Track repository creation patterns, commit activity, and engagement over time.

  • Authenticated Mode β€” Optional GitHub GraphQL API for enhanced data access and deeper analytics.


πŸ’» Tech Stack

Frontend: React 18 Β· TypeScript Β· TailwindCSS Β· Vite
Visualizations: D3.js Β· Recharts
Data: GitHub REST & GraphQL APIs
Storage: IndexedDB (browser-based caching)
Build: Vite with React plugin


πŸ—οΈ Architecture

flowchart TD

%% =========================
%% USER BROWSER - MAIN FLOW
%% =========================

subgraph USER_BROWSER["User Browser"]

    %% -------------------------
    %% UI LAYER
    %% -------------------------
    subgraph UI_LAYER["UI Layer"]
        UI1[Organization Selector]
        UI2[Repo List]
        UI3[Contributor View]
        UI4[Graph View]
        UI5[Settings View<br/>Add PAT / Refresh Data]
    end

    %% -------------------------
    %% LOGIC LAYER
    %% -------------------------
    subgraph LOGIC_LAYER["Logic Layer"]
        L1[User Interaction with UI]
        L2[UI State Handling<br/>Selection Tracking]
        L3[Cache Validation Logic<br/>Check IndexedDB]
        L4[Rate Limit Awareness]
    end

end

UI1 --> L1
UI2 --> L1
UI3 --> L1
UI4 --> L1
UI5 --> L1

L1 --> L2
L2 --> L3

%% =========================
%% CACHE CHECK
%% =========================

L3 --> CACHE_DECISION{Data cached<br/>in IndexedDB?}

CACHE_DECISION -- Yes --> LOAD_CACHE[Load Data from IndexedDB]

CACHE_DECISION -- No --> API_FLOW_START[Start Data Fetch <br/>GraphQL / REST]

%% =========================
%% AUTH MODE DECISION
%% =========================

subgraph AUTH_LAYER["GitHub API Request Logic"]

    AUTH_CHECK{PAT Available?}

    AUTH_CHECK -- Yes --> AUTH_MODE[Request using PAT<br/>Higher Rate Limit]
    AUTH_CHECK -- No --> UNAUTH_MODE[Unauthenticated Mode<br/>60 req/hour]

end

API_FLOW_START --> AUTH_CHECK

AUTH_MODE --> API_REQUEST
UNAUTH_MODE --> API_REQUEST

%% =========================
%% GITHUB API LAYER
%% =========================

API_REQUEST[GitHub API Request]
API_REQUEST --> GITHUB_LAYER[GitHub API Layer<br/>GitHub Server]

GITHUB_LAYER --> RESPONSE_CHECK{Data Response}

RESPONSE_CHECK -- Success --> STORE_DATA[Store in IndexedDB]
RESPONSE_CHECK -- Failure --> ERROR_STATE[Error Message<br/>Failed to Load Data]

STORE_DATA --> LOAD_CACHE

%% =========================
%% LOCAL STORAGE LAYER
%% =========================

subgraph LOCAL_STORAGE["Local Storage Layer"]

    subgraph INDEXED_DB["IndexedDB (via idb)"]
        DB1[Org Store]
        DB2[Repo Store]
        DB3[Contributor Store]
        DB4[Graph Store]
        DB5[Node-Edge Store]
        DB6[Metadata]
    end

    subgraph LOCAL_STORAGE_META["localStorage"]
        LS1[Last Fetched]
        LS2[TTL]
        LS3[GitHub Rate Info]
        LS4[Known Present Flags]
    end

end

STORE_DATA --> INDEXED_DB
STORE_DATA --> LOCAL_STORAGE_META

LOAD_CACHE --> VISUAL_PAGE_1
LOAD_CACHE --> VISUAL_PAGE_2

%% =========================
%% VISUALIZATION PAGE 1
%% =========================

subgraph VISUAL_PAGE_1["Page 1 - Repo + Contributors Graph"]

    subgraph GRAPH_LAYER_1["Visualization Layer (Graph Visualization)"]
        G1_NODE[Node Builder]
        G1_EDGE[Edge Builder]
        G1_LAYOUT[Layout Engine]
        G1_INTERACT[Interaction Layer<br/>Hover β†’ Tooltip<br/>Click β†’ Detail Panel]
    end

    G1_NOTE[Shows one repo with all contributors<br/>Node & Edge Form]

end

%% =========================
%% VISUALIZATION PAGE 2
%% =========================

subgraph VISUAL_PAGE_2["Page 2 - All Repos Graph"]

    subgraph GRAPH_LAYER_2["Visualization Layer (Graph Visualization)"]
        G2_NODE[Node Builder]
        G2_EDGE[Edge Builder]
        G2_LAYOUT[Layout Engine]
        G2_INTERACT[Interaction Layer<br/>Hover β†’ Tooltip<br/>Click β†’ Detail Panel]
    end

    G2_NOTE[Shows all repos<br/>Node & Edge Form]

end
Loading

System Structure

  • Frontend (React + D3.js)
  • Data Processing Layer (analytics engine)
  • GitHub REST API
  • Optional GitHub GraphQL API
  • Database (IndexedDB for caching, local storage for user settings)
  • UI Rendering Layer (dashboard, graphs, panels)

Data flows:

User β†’ Frontend β†’ API β†’ GitHub APIs β†’ Processing Layer β†’ Database β†’ UI Rendering


πŸ”„ User Flow

User enters organization name
        ↓
REST API fetches public insights
        ↓
Analytics engine computes metrics
        ↓
Dashboard renders visual intelligence
        ↓
(Optional) User enables authenticated mode

Quick Start

  1. Clone & Install

    git clone https://github.com/AOSSIE-Org/OrgExplorer.git
    cd OrgExplorer
    npm install
  2. Run Development Server

    npm run dev

    Open http://localhost:5173 in your browser.

  3. Build for Production

    npm run build

For detailed setup instructions, see CONTRIBUTING.md.


🀝 Contributing

We welcome contributions from developers, designers, and open-source enthusiasts. See CONTRIBUTING.md for:

  • How to report bugs and suggest features
  • Development workflow and coding standards
  • Pull request guidelines
  • Community communication

πŸ“ License

Licensed under the GNU General Public License v3.0. See LICENSE for details.


πŸ™ Acknowledgments

  • AOSSIE Community
  • GitHub API Documentation
  • React, Vite, and D3.js communities

Β© 2026 AOSSIE. All rights reserved.

About

Intuitive Dashboard to Explore Large GitHub Organizations

Resources

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Sponsor this project

Contributors

Languages