Skip to content

beyondnetcode/ums

Repository files navigation

UMS — Enterprise User Management System

OPEN STANDARDSOPEN MASTER INDEXLEER EN ESPAÑOLARCHITECTURE PORTAL Note: GitHub displays source files first. To skip the code and read the documentation, click the links above.


Standardized Modular Monolith for Unified Identity & Authorization.

Status Architecture Methodology


Standards Quick Access

Need Direct path
UMS applied React Web reference UMS React Web Applied Reference
UMS applied .NET API reference UMS API .NET Applied Reference
Upstream Evolith React standard Evolith React Web Frontend Standard
Upstream Evolith .NET API standard Evolith .NET API Standard
All standards in one page Standards Quick Access

Master Navigation Index

Start here if you are new to UMS. This index gives each reader a fast route into the repository without needing to know the folder structure.

Quick Route by Persona

I am a… Start here Then read
Backend Engineer Standards Quick Access · Construction Portal · Domain Aggregate Index UMS API .NET Applied ReferenceDDD Design Portal
Frontend Engineer Standards Quick Access · UMS React Web Applied Reference Evolith React Web Frontend Standard
Architect Architecture Portal · ADR Registry Standards Quick AccessTraceability Matrix
Product Owner / QA Master Index · Functional Stories MVP BacklogGlossary
DevOps / Ops Operations Portal · Runbooks ADR-0053 OpenTelemetryADR-0054 Shell Library Isolation

I want to…

Goal Start Here Then Read
Find standards for React, Web, C# or .NET Standards Quick Access Architecture Portal
Understand the product Product Vision Business ContextScope
See Epics & Priorities MVP Product Backlog Requirements IndexFunctional Stories
Review functional requirements Requirements Index Functional StoriesGlossary
Validate the data and domain model Conceptual Data Model ER Export FormatsDatabase Design ER
Understand the architecture Architecture Portal Database Design ER
Browse everything Master Index Complete document tree by lifecycle phase.

Architecture Overview

Technology Stack

Layer Technology
Backend .NET 10, HotChocolate (GraphQL), Minimal APIs (REST)
Frontend React 18, Vite 5, TypeScript, TailwindCSS, Zustand, TanStack Query
Database SQL Server 2022, Entity Framework Core
Monorepo Nx, npm Workspaces
Methodology BMAD-METHOD, Clean Architecture (Hexagonal), DDD

Project Structure

src/
├── apps/
│   ├── ums.api/                    # .NET Backend (Clean Architecture)
│   │   ├── Domain/                 # Pure POCOs, zero NuGet references
│   │   ├── Application/            # Use cases, interfaces
│   │   ├── Infrastructure/         # EF Core, external services
│   │   └── Presentation/           # GraphQL/REST endpoints
│   └── ums.web-app/                # React Frontend (Clean Architecture)
│       ├── src/
│       │   ├── domain/             # Enterprise entities, value objects
│       │   ├── application/        # Hooks, stores, use cases
│       │   ├── infrastructure/     # HTTP clients, GraphQL client
│       │   └── presentation/       # Components, screens, layouts
│       └── ...
└── ...

Key Architectural Decisions

  • GraphQL for Queries, REST for Commands: All read operations use HotChocolate GraphQL; writes use REST Minimal APIs for transactional clarity.
  • Clean Architecture: Strict layer boundaries. Domain layer is pure (no external dependencies). Application layer contains use cases and interfaces. Infrastructure handles external concerns.
  • Result Pattern: No exceptions for flow control. All operations return Result<T> for explicit error handling.
  • Bounded Contexts: Identity, Access, Audit, etc. Each context has its own aggregates, services, and presentation modules.

Quick Start (Engine Room)

Prerequisites

  • Node.js 20+
  • .NET 10 SDK
  • SQL Server 2022 (or Docker: docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=YourPassword123!" -p 1433:1433 mcr.microsoft.com/mssql/server:2022-latest)

Frontend

cd src/apps/ums.web-app
npm install
npm run dev

Backend

cd src/apps/ums.api
dotnet build
dotnet run

Full Stack (Frontend + Backend)

# Terminal 1 — Backend (port 7114)
cd src/apps/ums.api && dotnet run

# Terminal 2 — Frontend (port 5173)
cd src/apps/ums.web-app && npm run dev

Development Commands

Command Description
npm install Install all frontend dependencies (run from src/apps/ums.web-app)
npm run dev Start frontend dev server (port 5173)
npm run build Build frontend for production
npm run lint Run ESLint
npm run test Run Vitest tests
dotnet build Build backend solution (run from src/apps/ums.api)
dotnet test Run backend tests
dotnet run Start backend API (port 7114)

Knowledge Hub

Domain Portal Index Contents
Standards Standards Quick Access Direct links to Evolith standards and UMS applied references for React Web and .NET API.
Governance Governance Portal Product direction, business scope, and functional requirements.
Project Delivery Project Backlog MVP epics, user stories, and functional design of core modules.
Requirements Requirements Index Functional stories, business glossary, and conceptual data model.
Architecture Architecture Portal Database ER design, entity maps, and interactive viewers.
Construction Construction Portal DDD domain layer design (bounded contexts, aggregates, events, commands).
Metrics Solution Metrics Dashboard Engineering metrics by solution type: coding, security, quality, tests, AI usage.

Security & Compliance

  • Content Security Policy: Restrictive CSP with unsafe-eval removed (production-ready).
  • CSRF Protection: Double-submit cookie pattern with token refresh.
  • Security Headers: HSTS, X-Frame-Options, X-Content-Type-Options, Referrer-Policy via Nginx.
  • Input Validation: Zod schemas as single source of truth for runtime validation.