🌐 View Live Site » · 📡 Explore the API » · 📚 Read the docs »
🐛 Report Bug · 💡 Request Feature · 💬 Discussions
🎨 Production-ready platform featuring modern UI/UX with dark mode support
Click to expand/collapse
- ✨ AROLARIU.RO Monorepo
- 🏆 A Modern, Production-Grade Full-Stack Platform
- 🛠️ Built With
- 📸 Platform Preview
- 📋 Table of Contents
- 🎯 About The Project
- 🚀 Getting Started
- 📂 Project Structure
- 🏗️ Architecture
- 🔄 CI/CD Pipeline
- 🗺️ Roadmap
- 🤖 AI-Powered Development
- 📊 Repository Analytics
- 🤝 Contributing
- 📜 License
- 🔒 Security
- 📞 Contact
- 🙏 Acknowledgments
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.
| Service | Status | URL | Technology | Purpose |
|---|---|---|---|---|
| 🎨 Production | arolariu.ro | Next.js 16 + React 19 | Main platform | |
| 🔧 Development | dev.arolariu.ro | Next.js 16 + React 19 | Preview environment | |
| 🚀 API | api.arolariu.ro | .NET 10 (LTS) | REST, GraphQL & gRPC | |
| 📄 CV/Resume | cv.arolariu.ro | SvelteKit 2 | Personal CV | |
| 📚 Documentation | docs.arolariu.ro | DocFX | Technical docs |
| 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 |
| React Email Templates • Resend Integration • Transactional Emails | |
| 📦 Monorepo | Nx Workspace • Shared Components • Incremental Builds • Affected Commands |
💡 Powered by Nx — Enterprise-grade monorepo tooling for streamlined development workflows
Before you begin, ensure you have the following installed:
| Tool | Version | Purpose |
|---|---|---|
| ≥24.x | JavaScript runtime | |
| ≥11.x | Package manager | |
| 10.0 | Backend runtime | |
| Latest | Containerization (optional) |
# 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📦 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 detailsarolariu.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
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 |
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
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
Note:
cv.arolariu.rois fully standalone — no cross-dependencies with other packages.
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
Key constraints: Max 2-3 dependencies per service (Florance Pattern). No sideways calls (Foundation→Foundation). Business logic never in Brokers.
☁️ 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
Automated deployment pipelines ensure code quality and zero-downtime releases.
| Environment | Branch | Build | Release | Deployment |
|---|---|---|---|---|
| 🟢 Production | main |
arolariu.ro | ||
| 🟡 Preview | preview |
dev.arolariu.ro |
| Environment | Branch | Build & Deploy | Endpoint |
|---|---|---|---|
| 🟢 Production | main |
api.arolariu.ro |
| Pipeline | Status | Purpose |
|---|---|---|
| Components | Publish @arolariu/components | |
| CV Site | Deploy SvelteKit CV | |
| Docs | Deploy DocFX site | |
| E2E Tests | Playwright + Newman | |
| 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 |
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.
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.
📈 Powered by Repography — Real-time analytics from GitHub API
📐 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,buildNotes:
scccounts source-like files and can differ from other tools based on exclusions, generated assets, and large/binary-like bundles.
📊 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
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
- Fork the Project
- Create your Feature Branch (
git checkout -b feat/amazing-feature) - Commit your Changes using Conventional Commits (
git commit -m 'feat: add amazing feature') - Push to the Branch (
git push origin feat/amazing-feature) - Open a Pull Request against
main
Distributed under the MIT License. See LICENSE for more information.
To report security vulnerabilities, please see our Security Policy. Do not report security issues through public GitHub issues.
| Channel | Link |
|---|---|
| 🌐 Website | arolariu.ro |
| admin@arolariu.ro | |
| Alexandru-Razvan Olariu | |
| 💻 GitHub | @arolariu |
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
Developer Experience
- Shields.io — Badges for projects
- Repography — Repository analytics
- contrib.rocks — Contributor image generation
- Star History — GitHub star history charts
- Best-README-Template — README inspiration
If you find this project useful, please consider giving it a ⭐ star on GitHub!
Made with ❤️ by Alexandru-Razvan Olariu
