Skip to content

arolariu/arolariu.ro

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4,074 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

arolariu.ro logo

✨ AROLARIU.RO Monorepo

🏆 A Modern, Production-Grade Full-Stack Platform


🌐 View Live Site »   ·   📡 Explore the API »   ·   📚 Read the docs »

🐛 Report Bug  ·  💡 Request Feature  ·  💬 Discussions


Build Status License Contributors Issues PRs Welcome


Lines of code GitHub commit activity GitHub last commit GitHub repo size


Qualys SSL/TLS Grade Mozilla HTTP Observatory Grade



🛠️ Built With

Next.js React TypeScript .NET

Sass Azure Nx Storybook


📸 Platform Preview

Platform Screenshot

🎨 Production-ready platform featuring modern UI/UX with dark mode support


📋 Table of Contents

Click to expand/collapse

(back to top)


🎯 About The Project

The arolariu.ro monorepo is a comprehensive full-stack platform built with cutting-edge technologies and enterprise-grade best practices. It demonstrates modern software architecture patterns including:

  • 🏛️ Domain-Driven Design (DDD) with well-defined bounded contexts
  • 📦 Modular Monolith architecture for scalable backend services
  • React Server Components for optimal frontend performance
  • 🔒 Zero Trust Security with managed identities and RBAC
  • 📊 Full Observability with OpenTelemetry distributed tracing
  • 📧 Transactional Emails with React Email and Resend

Tip

New to this project? Start with the Getting Started section, then explore the Architecture to understand the system design.

🌐 Live Services

Service Status URL Technology Purpose
🎨 Production Status arolariu.ro Next.js 16 + React 19 Main platform
🔧 Development Status dev.arolariu.ro Next.js 16 + React 19 Preview environment
🚀 API Status api.arolariu.ro .NET 10 (LTS) REST, GraphQL & gRPC
📄 CV/Resume Status cv.arolariu.ro SvelteKit 2 Personal CV
📚 Documentation Status docs.arolariu.ro DocFX Technical docs

✨ Key Features

Category Features
🏛️ Architecture Domain-Driven Design • Modular Monolith • SOLID Principles • The Standard
Performance React Server Components • Edge Caching • CDN Optimization • Lazy Loading
🔒 Security SSL/TLS A+ • CSP Headers • RBAC • Managed Identities • OIDC
📊 Observability OpenTelemetry • Distributed Tracing • Application Insights • Grafana
🧪 Quality 85%+ Test Coverage • ESLint (20+ plugins) • TypeScript Strict • Prettier
🔄 CI/CD GitHub Actions • Blue-Green Deploys • Auto-rollback • Container Registry
🌍 i18n Multi-language Support (EN/RO/FR) • Type-safe Translations • next-intl
📧 Email React Email Templates • Resend Integration • Transactional Emails
📦 Monorepo Nx Workspace • Shared Components • Incremental Builds • Affected Commands

(back to top)


🚀 Getting Started

💡 Powered by Nx — Enterprise-grade monorepo tooling for streamlined development workflows

Prerequisites

Before you begin, ensure you have the following installed:

Tool Version Purpose
Node.js ≥24.x JavaScript runtime
npm ≥11.x Package manager
.NET 10.0 Backend runtime
Docker Latest Containerization (optional)

Quick Start

# 1️⃣ Clone the repository
git clone https://github.com/arolariu/arolariu.ro.git
cd arolariu.ro

# 2️⃣ Install dependencies
npm install

# 3️⃣ Run initial setup (generates env files, i18n, GraphQL)
npm run setup

# 4️⃣ Start development server
npm run dev:website

Development Commands

📦 Build Commands
npm run build              # Build all projects
npm run build:website      # 🌐 Main website (Next.js)
npm run build:components   # 🧩 React component library
npm run build:api          # ⚙️ Backend API (.NET)
npm run build:cv           # 📄 CV site (SvelteKit)
npm run build:docs         # 📚 Documentation (DocFX)
🔥 Development Servers
npm run dev:website        # 🌐 Website → http://localhost:3000
npm run dev:components     # 🧩 Storybook → http://localhost:6006
npm run dev:api            # ⚙️ API → http://localhost:5000
npm run dev:cv             # 📄 CV → http://localhost:4173
npm run dev:docs           # 📚 Docs → http://localhost:8080
🧪 Testing & Quality
npm run test               # Run all tests
npm run test:unit          # Unit tests only
npm run test:e2e           # End-to-end tests
npm run test:e2e:frontend  # Frontend Newman live tests
npm run test:e2e:backend   # Backend Newman live tests
npm run test:e2e:cv        # CV Newman live tests
npm run lint               # ESLint (20+ plugins)
npm run format             # Prettier formatting
🎯 Advanced Nx Commands
npx nx graph               # 📊 Visualize project dependencies
npx nx affected --target=build   # 🎯 Build only affected projects
npx nx affected --target=test    # 🧪 Test only affected projects
npx nx show project website      # 🔍 Show project details

(back to top)


📂 Project Structure

arolariu.ro/
├── 📦 packages/                    # Shared libraries
│   └── components/                 # 🧩 @arolariu/components (Radix UI + shadcn/ui)
│       ├── src/                    #    60+ component source files
│       └── stories/                #    Storybook stories
│
├── 🌐 sites/                       # Applications
│   ├── arolariu.ro/                # 🎨 Main Next.js 16 website
│   │   ├── src/
│   │   │   ├── app/                #    App Router pages (RSC by default)
│   │   │   ├── hooks/              #    Custom React hooks (useInvoice, etc.)
│   │   │   ├── stores/             #    Zustand stores with IndexedDB persistence
│   │   │   ├── lib/actions/        #    Server Actions
│   │   │   └── types/              #    TypeScript type definitions
│   │   ├── emails/                 #    📧 React Email templates (Resend)
│   │   └── messages/               #    🌍 i18n translations (en, ro, fr)
│   │
│   ├── api.arolariu.ro/            # ⚙️ .NET 10 Backend API
│   │   ├── src/
│   │   │   ├── Core/               #    Entry point, infrastructure, health
│   │   │   ├── Core.Auth/          #    Authentication bounded context
│   │   │   ├── Invoices/           #    Invoice management bounded context
│   │   │   └── Common/             #    Shared DDD base classes, telemetry
│   │   └── tests/                  #    xUnit + MSTest tests
│   │
│   ├── cv.arolariu.ro/             # 📄 SvelteKit 2 CV/Resume (standalone)
│   └── docs.arolariu.ro/           # 📚 DocFX documentation site
│
├── 🏗️ infra/                      # Infrastructure
│   ├── Azure/Bicep/                #    Azure IaC (main.bicep → facade → modules)
│   ├── containers/                 #    Container configurations
│   └── Local/                      #    Local development infrastructure
│
├── 📜 scripts/                     # Build & utility scripts
├── 📖 docs/                        # Architecture documentation & RFCs
│   └── rfc/                        #    13 Architecture Decision Records
│
├── 🤖 .github/                     # GitHub configuration
│   ├── workflows/                  #    8 CI/CD workflow files
│   ├── instructions/               #    9 Copilot instruction files
│   ├── agents/                     #    6 Copilot agent definitions
│   ├── prompts/                    #    6 reusable prompt templates
│   ├── skills/                     #    4 scaffolding skill templates
│   └── ISSUE_TEMPLATE/             #    8 issue templates (YAML)
│
└── 🔧 Configuration Files
    ├── nx.json                     # Nx workspace config
    ├── eslint.config.ts            # ESLint configuration
    └── tsconfig.json               # TypeScript configuration

📖 Sub-Project Documentation

Each sub-project has its own detailed documentation:

Project README Description
🎨 Website sites/arolariu.ro/README.md Next.js frontend architecture & patterns
⚙️ API sites/api.arolariu.ro/README.md .NET backend DDD architecture
🧩 Components packages/components/readme.md Shared component library usage
📄 CV sites/cv.arolariu.ro/README.md SvelteKit CV site
🏗️ Infrastructure infra/Azure/Bicep/DEPLOYMENT_GUIDE.md Azure deployment guide

(back to top)


🏗️ Architecture

High-Level Overview

This platform follows a modular monolith architecture deployed on Microsoft Azure. The architecture emphasizes:

  • Separation of Concerns — Clear boundaries between frontend, backend, and infrastructure
  • Domain-Driven Design — Business logic organized by bounded contexts
  • Infrastructure as Code — Fully reproducible Azure deployment via Bicep
  • Observability First — OpenTelemetry integration from day one
Infrastructure Architecture

Azure Cloud Architecture — Deployed using Infrastructure as Code (Bicep)

Monorepo Dependency Flow

graph LR
    subgraph "📦 Packages"
        COMP["🧩 @arolariu/components<br/><i>Radix UI + shadcn/ui</i>"]
    end

    subgraph "🌐 Sites"
        WEB["🎨 arolariu.ro<br/><i>Next.js 16 + React 19</i>"]
        API["⚙️ api.arolariu.ro<br/><i>.NET 10 + DDD</i>"]
        CV["📄 cv.arolariu.ro<br/><i>SvelteKit 2</i>"]
        DOCS["📚 docs.arolariu.ro<br/><i>DocFX</i>"]
    end

    subgraph "☁️ Azure Cloud"
        AFD["🌐 Azure Front Door<br/><i>CDN + WAF</i>"]
        DATA["📦 Data Layer<br/><i>SQL + Cosmos DB + Blob</i>"]
        AI["🤖 Azure OpenAI<br/><i>GPT-4o</i>"]
    end

    COMP -->|imports| WEB
    WEB -->|API calls| API
    API --> DATA
    API --> AI
    AFD --> WEB
    AFD --> API
    AFD --> CV
    AFD --> DOCS

    style COMP fill:#7c3aed,stroke:#5b21b6,color:#fff
    style WEB fill:#0070f3,stroke:#0051a8,color:#fff
    style API fill:#512bd4,stroke:#3b1f9e,color:#fff
    style CV fill:#ff3e00,stroke:#cc3200,color:#fff
    style DOCS fill:#6b7280,stroke:#4b5563,color:#fff
    style AFD fill:#0078d4,stroke:#005a9e,color:#fff
    style DATA fill:#059669,stroke:#047857,color:#fff
    style AI fill:#f59e0b,stroke:#d97706,color:#fff
Loading

Note: cv.arolariu.ro is fully standalone — no cross-dependencies with other packages.

Backend — The Standard (5 Layers)

The .NET backend follows The Standard architecture pattern:

graph TB
    EP["🔌 Endpoints (Exposers)<br/><i>HTTP mapping, 1 Processing service</i>"]
    PS["⚡ Processing Services<br/><i>Heavy computation, AI/ML, 1-2 Orchestration services</i>"]
    OS["🔄 Orchestration Services<br/><i>Coordination, cross-cutting, 2-3 Foundation services</i>"]
    FS["🏗️ Foundation Services<br/><i>CRUD, validation, 1-2 Brokers</i>"]
    BR["📦 Brokers<br/><i>External abstraction, thin wrappers, NO business logic</i>"]

    EP --> PS
    PS --> OS
    OS --> FS
    FS --> BR

    style EP fill:#ef4444,stroke:#dc2626,color:#fff
    style PS fill:#f97316,stroke:#ea580c,color:#fff
    style OS fill:#eab308,stroke:#ca8a04,color:#fff
    style FS fill:#22c55e,stroke:#16a34a,color:#fff
    style BR fill:#3b82f6,stroke:#2563eb,color:#fff
Loading

Key constraints: Max 2-3 dependencies per service (Florance Pattern). No sideways calls (Foundation→Foundation). Business logic never in Brokers.

Azure Infrastructure

☁️ Azure Components (Click to expand)
Layer Components Purpose
🌐 Networking Azure Front Door, DNS Zone Global CDN, WAF, traffic routing
🖥️ Compute App Service Plans (2x) Production & Development hosting
🌍 Sites App Services (3x), Static Web Apps (2x) Web applications
🔐 Identity User-Assigned Managed Identities (3x) Zero-trust security
⚙️ Configuration Key Vault, App Configuration Secrets & feature flags
📦 Storage Blob Storage, SQL Server, Cosmos DB, ACR Data persistence
📊 Observability Log Analytics, App Insights, Grafana Monitoring & alerting
🤖 AI Azure OpenAI, AI Foundry GPT models & ML capabilities
📐 Infrastructure Diagram (Mermaid)
graph TB
    subgraph SUB["☁️ Azure Subscription (swedencentral)"]
        direction TB

        subgraph NET["🌐 Networking"]
            AFD["Azure Front Door<br/><i>CDN + WAF</i>"]
            DNS["DNS Zone<br/><i>arolariu.ro</i>"]
        end

        subgraph WEB["🌍 Websites Layer"]
            S1["arolariu.ro<br/><i>Next.js</i>"]
            S2["api.arolariu.ro<br/><i>.NET</i>"]
            S3["docs.arolariu.ro<br/><i>DocFX</i>"]
            S4["cv.arolariu.ro<br/><i>SvelteKit</i>"]
        end

        subgraph DAT["📦 Data Layer"]
            SQL["Azure SQL"]
            CDB["Cosmos DB"]
            BLB["Blob Storage"]
            OAI["Azure OpenAI"]
        end

        subgraph SEC["🔐 Security & Config"]
            KV["Key Vault"]
            AC["App Configuration"]
            MI["Managed Identities"]
        end

        subgraph MON["📊 Observability"]
            LA["Log Analytics"]
            AI["App Insights"]
            GR["Grafana"]
        end
    end

    AFD --> DNS
    AFD --> S1
    AFD --> S2
    AFD --> S3
    AFD --> S4
    S2 --> SQL
    S2 --> CDB
    S2 --> BLB
    S2 --> OAI
    S2 --> KV
    S1 --> AC
    S1 --> AI
    S2 --> AI
    MI -.->|authenticates| S1
    MI -.->|authenticates| S2

    style SUB fill:#f0f9ff,stroke:#0078d4,color:#000
    style NET fill:#dbeafe,stroke:#3b82f6,color:#000
    style WEB fill:#dcfce7,stroke:#22c55e,color:#000
    style DAT fill:#fef3c7,stroke:#f59e0b,color:#000
    style SEC fill:#fce7f3,stroke:#ec4899,color:#000
    style MON fill:#f3e8ff,stroke:#a855f7,color:#000
Loading

(back to top)


🔄 CI/CD Pipeline

Automated deployment pipelines ensure code quality and zero-downtime releases.

🌐 Website Pipelines

Environment Branch Build Release Deployment
🟢 Production main Build Release arolariu.ro
🟡 Preview preview Build Release dev.arolariu.ro

⚙️ API Pipeline

Environment Branch Build & Deploy Endpoint
🟢 Production main API api.arolariu.ro

📦 Additional Pipelines

Pipeline Status Purpose
Components Components Publish @arolariu/components
CV Site CV Deploy SvelteKit CV
Docs Docs Deploy DocFX site
E2E Tests E2E Playwright + Newman
Hygiene Hygiene Lint, format, type-check
🎯 Pipeline Features
Feature Description
Automated Testing Unit, integration & E2E tests on every commit
Code Quality Gates ESLint, Prettier, TypeScript strict checks
Security Scanning Dependency vulnerability analysis
Docker Multi-stage Optimized container builds with layer caching
Blue-Green Deploy Zero-downtime production releases
Auto-rollback Automatic rollback on health check failures
OIDC Authentication Secure Azure authentication without secrets

(back to top)


🗺️ Roadmap

Track the project's progress and upcoming features:

  • 🏗️ Nx Monorepo architecture setup
  • 🎨 Next.js 16 with React 19 and RSC
  • ⚙️ .NET 10 backend with DDD architecture
  • 📊 OpenTelemetry observability (frontend + backend)
  • 🔐 Azure OIDC authentication for CI/CD
  • 🌍 Internationalization with next-intl (EN/RO/FR)
  • 📦 Shared component library with Storybook
  • 🤖 Azure OpenAI integration
  • 📧 Transactional email system (React Email + Resend)
  • 🎨 SCSS architecture system
  • 📱 Progressive Web App (PWA) support
  • 🔔 Real-time notifications with SignalR
  • 📈 Advanced analytics dashboard
  • 🧪 Visual regression testing
  • 🌐 Multi-region deployment

See the open issues for a full list of proposed features and known issues.

(back to top)


🤖 AI-Powered Development

This repository is fully configured with GitHub Copilot context-aware AI assistance — including instructions, agents, prompts, and scaffolding skills.

📚 Instruction Files (9)
File Pattern Instruction File Topics
.github/workflows/*.yml workflows.instructions.md CI/CD patterns, caching, OIDC
**/*.ts typescript.instructions.md Strict typing, type guards, generics
**/*.tsx, *.jsx react.instructions.md RSC, hooks, state management
**/*.cs csharp.instructions.md C# 13 patterns, async/await
sites/arolariu.ro/** frontend.instructions.md Next.js App Router, observability
sites/api.arolariu.ro/** backend.instructions.md DDD, SOLID, The Standard
**/*.bicep bicep.instructions.md Azure IaC best practices
packages/components/** components.instructions.md Radix UI, shadcn/ui patterns
Pull Requests code-review.instructions.md Review standards & checklists
🤖 Copilot Agents (6)
Agent Specialization
backend-expert .NET DDD architecture, The Standard, service layers
frontend-expert Next.js, React 19, RSC, state management
code-reviewer Code quality, security, best practices
infra-expert Azure Bicep, infrastructure as code
docs-writer Technical documentation, JSDoc, XML docs
full-stack-planner Cross-cutting architecture decisions
🎯 Prompts & Skills

Reusable Prompts (6):

Prompt Purpose
comment-standard Consistent JSDoc/XML documentation
unit-test Test scaffolding (Vitest/xUnit)
refactor Safe refactoring with patterns
api-endpoint New .NET endpoint scaffold
new-page Next.js page with i18n + metadata
migration Database schema migration guide

Scaffolding Skills (4):

Skill Template
ddd-service Full DDD service stack (Foundation → Broker)
react-component RSC + Island pattern component
zustand-store Zustand store with IndexedDB persistence
i18n-page Internationalized page with all locales
📖 Architecture RFCs (13)
RFC # Title Status
Infrastructure (0xxx)
0001 GitHub Actions Workflows ✅ Implemented
Frontend (1xxx)
1001 OpenTelemetry Observability System ✅ Implemented
1002 JSDoc/TSDoc Documentation Standard ✅ Implemented
1003 Internationalization System (next-intl) ✅ Implemented
1004 Metadata and SEO System ✅ Implemented
1005 State Management (Zustand) ✅ Implemented
1006 Component Library Architecture ✅ Implemented
1007 Advanced Frontend Patterns ✅ Implemented
1008 SCSS System Architecture ✅ Implemented
Backend (2xxx)
2001 Domain-Driven Design Architecture ✅ Implemented
2002 Backend OpenTelemetry Observability ✅ Implemented
2003 The Standard Implementation ✅ Implemented
2004 XML Documentation Standard ✅ Implemented

RFCs are located in docs/rfc/. Use the RFC template to propose new architecture decisions.

(back to top)


📊 Repository Analytics

📈 Powered by Repography — Real-time analytics from GitHub API

Time period

📐 Static Code Statistics (scc)

Last updated: 2026-02-10

Repository size (excluding node_modules, build artifacts, and test results): 9.824 MB

───────────────────────────────────────────────────────────────────────────────
Language            Files       Lines    Blanks  Comments       Code Complexity
───────────────────────────────────────────────────────────────────────────────
TypeScript            591     109,452    12,437    24,927     72,088      3,375
Sass                  196      25,805     3,826     3,464     18,515          6
C#                    182      39,427     4,995    13,016     21,416        298
Markdown              105      42,513     9,526         0     32,987          0
JSON                   58      29,011        30         0     28,981          0
Bicep                  45       5,120       473     1,530      3,117         21
YAML                   32       5,417       411       555      4,451          0
Svelte                 28       4,187       263       328      3,596         90
SVG                    12         621         0         0        621          0
MSBuild                10         563        60        28        475          5
JavaScript              5         165        10        11        144         10
Plain Text              5         343        27         0        316          0
XML                     4       3,077         0        20      3,057          0
SQL                     3          81        12        48         21          0
CSS                     2         473        71        64        338          0
Batch                   2          60        18         0         42          4
Docker ignore           2         154        18        20        116          0
Dockerfile              2         211        38        51        122          9
Shell                   2          54        16        12         26          2
HTML                    1         193        11         9        173          0
License                 1          21         4         0         17          0
TypeScript Typ…         1          12         3         5          4          0
───────────────────────────────────────────────────────────────────────────────
Total               1,289     266,960    32,249    44,088    190,623      3,820
───────────────────────────────────────────────────────────────────────────────
Estimated Cost to Develop (organic) $6,695,444
Estimated Schedule Effort (organic) 28.33 months
Estimated People Required (organic) 21.00
───────────────────────────────────────────────────────────────────────────────
Processed 9823755 bytes, 9.824 megabytes (SI)
───────────────────────────────────────────────────────────────────────────────
Commands used
# Run from repository root
scc . --exclude-dir node_modules,.next,bin,obj,artifacts,coverage,TestResults,dist,.svelte-kit,build

Notes: scc counts source-like files and can differ from other tools based on exclusions, generated assets, and large/binary-like bundles.

📅 Activity Timeline

Timeline graph

🐛 Issues & 🔀 Pull Requests
Issues Pull Requests
Issue status graph Pull request status graph
🗺️ Activity Heatmap & 💬 Trending Topics
Activity Map Trending Topics
Activity map Trending topics
🌟 Star History

Star History Chart

📊 Language Breakdown
pie title Codebase by Language (Lines of Code)
    "TypeScript" : 72088
    "C#" : 21416
    "Sass/SCSS" : 18515
    "Markdown" : 32987
    "JSON" : 28981
    "Svelte" : 3596
    "YAML" : 4451
    "Bicep" : 3117
    "Other" : 5472
Loading

(back to top)


🤝 Contributing

Contributions make the open source community an amazing place to learn, inspire, and create. Any contributions are greatly appreciated!

Note

Please read the Contributing Guide for detailed instructions on how to fork, branch, and submit pull requests. By participating, you agree to abide by our Code of Conduct.

Quick Contribution Steps
  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feat/amazing-feature)
  3. Commit your Changes using Conventional Commits (git commit -m 'feat: add amazing feature')
  4. Push to the Branch (git push origin feat/amazing-feature)
  5. Open a Pull Request against main

👥 Top Contributors

(back to top)


📜 License

Distributed under the MIT License. See LICENSE for more information.

(back to top)


🔒 Security

To report security vulnerabilities, please see our Security Policy. Do not report security issues through public GitHub issues.

(back to top)


📞 Contact

Channel Link
🌐 Website arolariu.ro
📧 Email admin@arolariu.ro
💼 LinkedIn Alexandru-Razvan Olariu
💻 GitHub @arolariu

(back to top)


🙏 Acknowledgments

Special thanks to these amazing resources and tools:

Frameworks & Libraries
  • Next.js — The React Framework for the Web
  • React — Library for building user interfaces
  • .NET — Free, open-source developer platform
  • SvelteKit — Web framework for Svelte
  • Sass — CSS preprocessor with superpowers
  • shadcn/ui — Re-usable components built on Radix UI
  • Zustand — Lightweight state management
  • React Email — Build emails using React components
  • Resend — Email API for developers
  • Recharts — Composable charting library
Tooling & Infrastructure
  • Nx — Smart, Fast and Extensible Build System
  • Azure — Cloud computing platform
  • Docker — Container platform
  • Storybook — UI component workshop
  • Clerk — Authentication and user management
  • OpenTelemetry — Observability framework
Developer Experience

(back to top)


💖 Support This Project

If you find this project useful, please consider giving it a ⭐ star on GitHub!


GitHub stars GitHub forks GitHub watchers


Made with ❤️ by Alexandru-Razvan Olariu


⬆ Back to Top


About

Monorepository that contains all the code for the *.arolariu.ro domain space.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors