Project index

Flagship case study · Modular business platform

DigCore

A full-stack modular ERP foundation combining multilingual product interfaces, Spring Boot services, and layered authorization for role-sensitive business workflows.

ContextDigCoder · 2023–present
ContributionFull-stack architecture · Hierarchical authorization · RBAC
EvidenceCV record · private work

01

The challenge

Bring multiple business capabilities into one coherent platform while keeping UI visibility, JWT authentication, RBAC, authority hierarchy, service-level safeguards, and multilingual LTR/RTL delivery explicit and maintainable.

02

My contribution

Across the product boundary.

  • Developed product surfaces in Next.js, React, and TypeScript.
  • Contributed to Java 21 and Spring Boot 3 services exposed through REST APIs.
  • Implemented multilingual interaction patterns with LTR and RTL support.
  • Built JWT-authenticated, role-aware application workflows while keeping interface visibility separate from backend enforcement.
  • Centralised service-level authorization with a Spring AOP aspect for user, country, and settings operations.
  • Added focused Spring Boot and JUnit coverage for allowed and denied hierarchy paths.

03

Engineering highlights

Security rules made explicit.

Verified backend work shows how authentication, authorization, domain safeguards, testing, and localisation work together without being conflated.

01

Layered security

JWT establishes the authenticated request, Spring Security enforces route and method rules, and a Spring AOP aspect applies domain-specific checks before protected service operations.

Authentication, RBAC, hierarchy, service checks, and role-aware UI remain distinct layers.
02

Hierarchical administration

Create, update, and delete user flows compare the connected user's highest authority with assigned or target roles. API paths cannot create SUPER_ADMIN, remove it from an existing account, or promote a normal account to it.

The same aspect protects country changes, restricted country reads, and settings updates; settings reload after a successful update.
03

Focused verification

A dedicated Spring Boot/JUnit suite exercises both permitted and rejected user and country scenarios, including equal-or-higher hierarchy attempts and SUPER_ADMIN safeguards.

18 focused tests passed with 0 failures, 0 errors, and 0 skipped.
04

Internationalised communication

The product UI supports English, French, and Arabic with LTR/RTL layouts. Backend verification emails use request locale, message bundles, Thymeleaf templates, and asynchronous HTML delivery.

Email bodies are localised in English and French; Arabic currently overrides one subject and otherwise falls back to the default bundle.
Authorization pathFrom authenticated request to protected business operation.
  1. Authenticated request
  2. Spring Security
  3. Security context
  4. Roles and authorities
  5. Spring AOP guard
  6. Hierarchy and operation check
  7. Service layer
  • Create user
  • Update user
  • Delete user
  • Country access
  • Settings update

04

System view

The parts that had to agree.

A reusable platform foundation with layered access control, explicit privilege boundaries, multilingual delivery, and tested administration workflows.

01

Next.js and React interface with role-aware workflows

02

JWT and Spring Security request authentication

03

Spring Boot REST services with JPA persistence

04

Spring AOP hierarchy guards at the service boundary

  • Next.js
  • React
  • TypeScript
  • Java 21
  • Spring Boot 3
  • Spring Security
  • Spring AOP
  • JWT
  • JPA
  • PostgreSQL
  • JUnit
  • i18n / RTL

06

Evidence & boundaries

What can be verified.

  • Documented in the candidate CV and current DigCoder experience.
  • The private backend source was inspected locally to verify the aspect, security configuration, authority hierarchy, protected service operations, and email localisation path.
  • RoleValidationAspectTest contains 18 focused tests; the verified run completed with 0 failures, 0 errors, and 0 skipped.
  • Private client/product work; no public repository or production URL is disclosed.
  • Four approved product screenshots document the dashboard, user administration, profile workspace, and Arabic RTL experience.

Published screenshots show representative demo content; product details remain bounded to verified, non-confidential information.