- Node.js v20.18.0
- pnpm 9.12.2
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
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.
- Issuer service and authorization service need to be accessible from the outside, so you can use something like ngrok or zrok for local development.
- 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.
- 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. - Currently QR codes are generated on the Dashboard backend (Next.js API routes) and saved to uploadthing.
This project is licensed under EUPL-1.2 terms:
- Apache License, Version 2.0, (LICENSE or https://interoperable-europe.ec.europa.eu/licence/european-union-public-licence-version-12-eupl)