Skip to content

World Bank Open Source Code catalog external site, surfacing World Bank open source projects to make them more discoverable.

License

Notifications You must be signed in to change notification settings

worldbank/oss-catalog

Open Source Code Catalog

A modern web app for browsing, searching, and discovering open source projects in your established GitHub organization. The project is built with Next.js and React. The catalog features summary project cards for each repository, organization statistics, filtering, search and more.

image

1. Getting Started

Prerequisites

  • Node.js (v18+ recommended)
  • npm or yarn

Installation

Clone the repository and install dependencies:

git clone https://github.com/worldbank/oss-catalog.git
cd oss-catalog
npm install

Running Locally

Start the development server:

npm run dev

Visit http://localhost:3000 in your browser.

Building for Production

The app is designed to work with GitHub Pages. Run the nextjs.yml workflow to deploy to your repository's GitHub Page.

Static Data

The app sources open source projects using the GitHub API and populates public/repos.json with repository data. Update this file with repository data from your GitHub organization.

2. Documentation

Project Structure

  • app/ — Main Next.js app directory
    • components/ — Reusable React components (Header, Footer, ProjectCard, etc.)
    • catalog/ — Catalog page with search, filter, and sort features
    • page.tsx — Homepage with featured projects and summary statistics
  • public/ — Static assets (images, repos.json)
  • package.json — Project dependencies and scripts

Features

  • Homepage: Highlights featured projects, summary statistics, and latest news.
  • Catalog: Browse all open source projects, filter by language/topic, search, and sort.
  • Easy Customization: Update public/repos.json and images in public/img/ as needed.

Customization

  • To add or update projects, directly update public/repos.json based upon the direct output from the GitHub API: https://api.github.com/orgs/INSERT_ORG_HERE/repos. You may also update scripts/fetch_repos.js to point to the correct GitHub organization, then run the update-repos.yml workflow to update public/repos.json manually or on a set schedule.
  • To change branding or images, update files in public/img/.

License

This project is licensed under the MIT License together with the World Bank IGO Rider. The Rider is purely procedural: it reserves all privileges and immunities enjoyed by the World Bank, without adding restrictions to the MIT permissions. Please review both files before using, distributing or contributing.

About

World Bank Open Source Code catalog external site, surfacing World Bank open source projects to make them more discoverable.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Contributors 2

  •  
  •