/Open-Badge-Publisher

Primary LanguageSvelteApache License 2.0Apache-2.0

Open Badge Publisher for the Credential Engine Registry

An open source Badge Publishing Tool for use by badging systems and Credential Engine as part of its publishing system to facilitate publishing Open Badge data as CTDL linked data to the Credential Registry.

Timeframe Project start date: September 26, 2022 Project end date: December 31, 2022

Badge Publisher Software Features

The Badge Publisher Web Application end product will be deployed to IIS for integration with the Credential Engine Publishing System and available as open source code for other systems capable of hosting an HTML/CSS/JS application.

The Badge Publisher project will also serve the following design goals:

  • Compatible with Open Badge Specifications 2.0 and 3.0.
  • The Open Badge Publisher Web Application workflow will utilize the Credential Engine’s publishing system.
  • Provide initial mock up for review and feedback by CE team members.
  • The Open Badge Publisher Web Application will not require client side installation.
  • UI will meet Web Content Accessibility Guidelines 2.1 Level AA requirements.
  • UI must use responsive design.
  • The UI uses styles and colors corresponding to Credential Engine's style guides for Colors and Typography
  • The UI will be self documenting to decrease the necessity for separate instructional materials.
  • The Open Badge Publisher Web Application will use an URL such as apps.credentialengine.org/badgepublisher and be hosted by Credential Engine’s Azure environment that utilizes Windows OS.
  • The Open Badge Publisher Web Application will utilize an API Key obtainable through the Credential Registry Publishing System for authentication.

How to run locally

Prerequisites:

  • Node.js (v16+)
  • NPM

Create and customize your .env environment settings

  1. cp .env.example .env Copy environment settings example
  2. Update .env if necessary

Install the dependencies and then run the application using the vite dev compiler as follows:

npm install
npm run dev

Access the interface via your browser at http://localhost:5173

How to build for deployment

Update the .env for production, including PUBLIC_BASEURL to the location where the app will run. If you are deploying to a domain where a publisher instance is running, set ADAPTER_STATIC="true".

npm run build

Then copy the contents of the resulting build directory to the location on your webserver where you plan to run the application.

Configure your webserver to route requests to the fallback page 200.html for requests that don't experience an immediate "hit". See docs example for Apache.