Skip to content

blockchain-lab-um/issuer-platform-EduCTX

Folders and files

NameName
Last commit message
Last commit date

Latest commit

f3dd0f5 · Mar 19, 2025
Jul 2, 2024
Sep 18, 2023
Jul 2, 2024
Mar 19, 2025
Feb 19, 2025
Feb 5, 2025
Feb 12, 2025
Nov 19, 2024
Sep 18, 2023
Feb 12, 2025
Nov 8, 2024
Oct 17, 2024
Feb 12, 2025
Feb 19, 2025
Feb 19, 2025
Jul 2, 2024
Sep 18, 2023
Feb 24, 2025
Feb 19, 2025
Mar 18, 2025
Dec 24, 2024

Repository files navigation

EduCTX Issuer platform

Environment

  • Node.js v20.18.0
  • pnpm 9.12.2

Running services

Local development environment

 pnpm --filter @blockchain-lab-um/eductx-platform-dashboard dev
 pnpm --filter @blockchain-lab-um/eductx-platform-issuer-service dev
 pnpm --filter @blockchain-lab-um/eductx-platform-authorization-service dev

Development environment in Docker 🐳

We are using 3 images:

  • Base image for building everything in the monorepo: blockchain-lab-um/eductx-platform-base
  • Dashboard image: blockchain-lab-um/eductx-platform-dashboard
  • Issuer service image: blockchain-lab-um/eductx-platform-issuer-service
  • Authorization service image: blockchain-lab-um/eductx-platform-verifier-service

To build all needed images run ./scripts/docker-build.sh

Example env files can be found in the respective apps folders (example files are .env.example).

Recommended way to run the platform is using docker compose. First create a docker-compose.local.yml file in the root of the project and copy the contents from docker-compose.yml and change the env variables to your needs. Then run docker compose up -d --force-recreate to start the services.

Development notes

  1. Issuer service and authorization service need to be accessible from the outside, so you can use something like ngrok or zrok for local development.
  2. For authentication on the Dashboard Auth.js is used. To change the authentication method, you need to just select the right provider that fits your needs and setup the correct env variables.
  3. For sending emails Nodemailer is used. Nodemailer connects to the smtp.office365.com servers. Alternatively something like Resend can be used, with minor code changes.
  4. Currently QR codes are generated on the Dashboard backend (Next.js API routes) and saved to uploadthing.

License

This project is licensed under EUPL-1.2 terms: