UESTCO ERP System: DDD-Based Microservice ERP Platform

UESTCO ERP is an in-house, microservice-based enterprise resource planning platform built on .NET 8 and Domain-Driven Design principles. The system is structured around independent bounded contexts: an Identity Service handling users, roles, JWT/refresh tokens and Redis-backed permission cache; and a CRM Service covering customers, contacts, addresses, products, projects, quotations, multi-step quote approval workflow, OpenXML/Puppeteer document generation, lookup translations, global search, customizable column layouts and a full sales analytics suite (dashboard, funnel, timeline, segmentation by sector/product/customer/user). Services are fronted by a YARP-based API Gateway with centralized CORS, security headers and forwarded-header handling. Infrastructure includes PostgreSQL per service, Redis cache, Docker Compose orchestration, a separate Node.js/Express export service (Puppeteer + ExcelJS) for DOCX/PDF/XLSX outputs, Serilog with PostgreSQL log sink and Seq for centralized observability, automatic EF Core migrations and seed flows, rate limiting on auth endpoints, and a self-hosted GitHub Actions staging deployment pipeline.

Lead Backend Developer & System Architect

  1. DDD & Microservice Architecture – Designed Identity and CRM as separate bounded contexts with their own domain, application, infrastructure and API layers, isolated databases, and clean communication boundaries.
  2. Identity Service – Implemented users, roles and endpoint-level permissions on top of ASP.NET Core Identity, with JWT access + refresh token flow, hashed refresh tokens, rate-limited login/refresh endpoints and seeded demo data.
  3. Redis Permission & Lookup Cache – Built a role-permission cache with warmup on startup and a lookup translation cache, all backed by Redis for sub-millisecond authorization checks.
  4. CRM Domain Modules – Developed customers, contacts, addresses, products, customer-specific discounts, projects, quotations, quote approval workflow with per-user approval limits, document generation (offer/proforma/order) and column visibility configuration.
  5. Sales Analytics – Implemented sales dashboard, funnel, timeline and segmentation endpoints (by sector, product, customer, user) on top of CRM transactional data.
  6. Document Export Service – Integrated a separate Node.js/Express export service using OpenXML, Puppeteer and ExcelJS to produce DOCX/PDF/ODT/XLSX outputs from CRM templates.
  7. API Gateway & Cross-Cutting Concerns – Set up YARP reverse proxy as a single entry point for CRM, Identity, Export and UI; centralized CORS, security headers, forwarded-header handling, localization, validation responses and exception middleware.
  8. Observability & DevOps – Wired Serilog with PostgreSQL sink and Seq for centralized logs, automated EF Core migrations + seeds per service, Docker Compose for local/staging, and GitHub Actions self-hosted runner pipeline for staging deployments.
  9. Audit & Identity Admin Tooling – Added a dedicated audit/login-activity logging service with automated log retention, plus a companion React 18 + TypeScript admin UI (TanStack Query, Tailwind) for identity, role and permission management with cross-tab session sync.
  10. Legacy CRM Data Migration – Wrote a deterministic, idempotent Python CLI (UUID5-keyed) to migrate legacy Dolibarr CRM data — customers, contacts, products — either live via API or through generated idempotent PostgreSQL scripts, with dry-run and resume support.

Features

  1. DDD-based microservice ERP backend (Identity + CRM bounded contexts)
  2. Centralized JWT auth with refresh token rotation and Redis-backed role/permission cache
  3. CRM with customers, projects, quotations, multi-step approval workflow and document generation
  4. Sales analytics: dashboard, funnel, timeline, segmentation by sector/product/customer/user
  5. YARP API Gateway with central CORS, security headers and forwarded-header config
  6. Service-per-database PostgreSQL model with automatic EF Core migrations and seeds
  7. Dedicated Node.js export service (Puppeteer + OpenXML + ExcelJS) for DOCX/PDF/XLSX
  8. Centralized logging with Serilog, PostgreSQL log sink and Seq
  9. Rate-limited authentication endpoints and lookup translation caching
  10. Dockerized deployment with Docker Compose and GitHub Actions self-hosted runner staging pipeline
  11. Dedicated audit/login-activity logging service with automated retention
  12. Companion React + TypeScript admin UI for identity and role management
  13. Deterministic, resumable Python CLI for legacy Dolibarr CRM data migration

Technologies

  1. .NET 8 Web API
  2. C#
  3. Domain-Driven Design
  4. Microservices
  5. PostgreSQL
  6. Entity Framework Core
  7. ASP.NET Core Identity
  8. JWT + Refresh Token
  9. Redis (StackExchange.Redis)
  10. YARP Reverse Proxy
  11. Serilog + Seq
  12. OpenXML
  13. Node.js / Express
  14. Puppeteer
  15. ExcelJS
  16. Docker + Docker Compose
  17. GitHub Actions (self-hosted runner)
  18. Swagger / OpenAPI
  19. React 18 + TypeScript + Vite (Identity Admin UI)
  20. TanStack Query + Tailwind CSS
  21. Python (legacy data migration tooling)
Associated with
  • Company UESTCO Enerji Sistemleri
  • Duration Mar 2024 - Present
  • Role Title Lead Backend Developer & System Architect
  • Company Site https://www.uestco.com/