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.
- Node.js (v18+ recommended)
- npm or yarn
Clone the repository and install dependencies:
git clone https://github.com/worldbank/oss-catalog.git
cd oss-catalog
npm installStart the development server:
npm run devVisit http://localhost:3000 in your browser.
The app is designed to work with GitHub Pages. Run the nextjs.yml workflow to deploy to your repository's GitHub Page.
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.
app/— Main Next.js app directorycomponents/— Reusable React components (Header, Footer, ProjectCard, etc.)catalog/— Catalog page with search, filter, and sort featurespage.tsx— Homepage with featured projects and summary statistics
public/— Static assets (images,repos.json)package.json— Project dependencies and scripts
- 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.jsonand images inpublic/img/as needed.
- To add or update projects, directly update
public/repos.jsonbased upon the direct output from the GitHub API: https://api.github.com/orgs/INSERT_ORG_HERE/repos. You may also updatescripts/fetch_repos.jsto point to the correct GitHub organization, then run theupdate-repos.ymlworkflow to updatepublic/repos.jsonmanually or on a set schedule. - To change branding or images, update files in
public/img/.
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.