Athena — europeLogin/README.md

Europe Login

Dutch business identity & authentication platform — an e-Herkenning alternative built by GloryLabs.

What it does

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.

Stack

| 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 |

Quick start (local)

# 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

Running tests

# 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

Docs

| 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 |

GitHub Issues

Bugs and tasks: https://github.com/mahmoudholding/europeLogin/issues

Reacties

Nog geen reacties