Dutch business identity & authentication platform — an e-Herkenning alternative built by GloryLabs.
Europe Login lets Dutch companies authenticate via KvK number + password. It issues JWT tokens with e-Herkenning claims (assurance level, KvK number, representative role). Companies onboard via a multi-step wizard that validates KvK, optionally verifies bank account ownership via PSD2 (GoCardless/Nordigen), and encrypts the representative's BSN at rest.
| Layer | Technology |
|-------|-----------|
| Backend | Spring Boot 3.3.5, Java 17, Maven |
| Frontend | Angular 20, standalone components, signals |
| Database | PostgreSQL (Flyway migrations) |
| Cache / Sessions | Redis |
| Infrastructure | Docker Compose (local), k3s Kubernetes (prod) |
| Container Registry | ghcr.io/mahmoudholding/europe-login/<service> |
| CI/CD | GitHub Actions → GHCR → Helm upgrade |
| Secrets (prod) | 1Password → Bitnami Sealed Secrets |
# Clone
git clone https://github.com/mahmoudholding/europeLogin.git
cd europeLogin
# Start infrastructure
docker-compose -f docker-compose.local.yml up -d # postgres + redis only
# Backend
cd backend
./mvnw spring-boot:run
# → http://localhost:8091
# Frontend
cd frontend/europe-login-portal
npm install
npm start
# → http://localhost:4301
# Swagger UI
open http://localhost:8091/swagger-ui.html
# Backend (unit + Cucumber BDD — 14 scenarios)
cd backend && ./mvnw test
# Frontend (unit — 26 specs, 90%+ coverage)
cd frontend/europe-login-portal
npm run test:ci
# Frontend lint
npm run lint
# Frontend build
npm run build
| Doc | Contents | |-----|----------| | architecture.md | System design, domain model, flows | | setup.md | Full local dev setup | | deployment.md | Docker, Kubernetes, Helm | | api.md | REST API reference | | decisions/ | Architecture Decision Records | | planning/ | Sprint plans, in-flight remediation status |
Bugs and tasks: https://github.com/mahmoudholding/europeLogin/issues
Reacties