Skip to content

Repository files navigation

SGP Knowledge and Learning Platform

The integrated frontend for the GEF Small Grants Programme Knowledge and Learning Platform. This repository contains the public journeys, grants explorer, portfolio dashboard, Innovation Library, stories, role-aware workspaces, administration previews, localized routing, and the shared AI assistant experience.

The application is a React and TypeScript single-page application built with Vite. All data and media required by the static experience are committed in this repository; the AI assistant is the only live external application service.

Current status

  • Repository: UNDP-Data/sgp-platform
  • Deployment target: https://undp-data.github.io/sgp-platform/
  • Runtime route catalogue: 85 patterns
  • Locales: English, Portuguese, French, Spanish, Russian, Chinese, and Arabic
  • Node.js: 20 (versions 20 through 24 are accepted)
  • Hosting: GitHub Pages through GitHub Actions

This is an MVP. Role selection and restricted-area behavior demonstrate the access model but do not provide production authentication or authorization. See Access and roles before treating any workspace as protected.

Start locally

npm ci
npm run dev

Open http://127.0.0.1:5173/.

Useful commands:

npm run verify
npm run check
npm run test:e2e
npm run build
npm run preview

verify runs source, translation, documentation, TypeScript, unit-test, and data-contract checks. check also creates and audits a production build.

GitHub Pages deployment

Every push to main runs the complete verification and deployment workflow in deploy-pages.yml. The build uses BASE_PATH=/sgp-platform/, uploads dist/, and deploys only after all checks pass.

One repository setting must be enabled by an administrator before the first deployment:

  1. Open Settings → Pages in UNDP-Data/sgp-platform.
  2. Under Build and deployment, set Source to GitHub Actions.
  3. Push or merge to main, or run Deploy GitHub Pages manually from the Actions tab.

No Pages branch, committed dist/ directory, secret, or custom domain is required. For the full release and rollback procedure, see Deployment.

Repository map

Path Purpose
src/ React application, routing, translations, role policy, and UI
public/generated/ Validated portfolio and knowledge runtime artifacts
public/media/ Local optimized image variants
public/brand/ Platform and partner brand assets
scripts/ Data, route, documentation, localization, and build audits
tests/ Unit, contract, accessibility, responsive, and journey tests
docs/ Maintained product and operational documentation
.github/workflows/ Pull-request verification and Pages deployment

Data refresh

The deployed app never reads a sibling repository. Runtime data is packaged under public/generated/ and includes checksums in public/generated/provenance.json.

To refresh from a compatible pipeline checkout:

SGP_DATA_PIPELINE_DIR=/absolute/path/to/pipeline npm run sync:data
npm run validate:data
npm run check

SGP_PIPELINE_API may instead point directly to the pipeline API export directory. Do not hand-edit generated artifacts. See Data and content.

Documentation

Start with the central platform reference. It consolidates the complete sitemap, implemented and target feature set, users, programme lifecycle, record families, data scope, metadata strategy, technical architecture, governance, acceptance, and delivery approach. The documentation index links the focused implementation and operating guides:

Contributors should also read CONTRIBUTING.md and SECURITY.md.

Licensing

No license file was present in the destination repository at migration time. Repository owners should add the UNDP-approved license or usage terms before representing the code or bundled media as licensed for external reuse.

About

No description, website, or topics provided.

Resources

Contributing

Security policy

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages