Skip to main content

Welcome to Wolfix.Server

Wolfix.Server is a robust, scalable backend system designed for complex e-commerce ecosystems. By utilizing a Modular Monolith architecture, the project achieves high maintainability and logical isolation of business domains, making it ready for a future transition to microservices if needed.

Why Wolfix.Server?

Modular Architecture

Clean separation of concerns with independent modules for Identity, Catalog, Order, Customer, Seller, Media, and Support

Clean Architecture

Multi-layered design with Domain, Application, Infrastructure, and API layers ensuring testability and maintainability

Domain-Driven Design

Strong business logic encapsulation with Aggregates, Entities, and Value Objects following DDD principles

Production Ready

Built with .NET 9, PostgreSQL, Stripe payments, Azure storage, and comprehensive authentication

Key Features

  • JWT Authentication with Role-Based Access Control (RBAC)
  • Google OAuth integration for seamless sign-in
  • Stripe Payment Processing for secure transactions
  • Azure Blob Storage for scalable media management
  • Result Pattern for explicit error handling without exceptions
  • Guid V7 identifiers for time-sortable primary keys
  • .NET Aspire orchestration for cloud-native development
  • In-Memory Event Bus for decoupled inter-module communication
  • PostgreSQL with separate schemas per module

Quick Start

Get Started

Set up Wolfix.Server locally in minutes with .NET Aspire

Architecture Overview

Understand the modular monolith design and Clean Architecture layers

API Reference

Explore all available endpoints across modules

Development Guide

Learn how to develop and extend the system

Core Modules

Identity

Authentication, authorization, and user management

Catalog

Product management with variants and content moderation

Order

Order lifecycle, delivery, and payment processing

Customer

Customer profiles, carts, and wishlists

Seller

Seller onboarding and shop management

Media

Centralized media storage with Azure Blob

Support

Ticketing system for dispute resolution

Admin

Administrative operations and system management

Technology Stack

  • Framework: .NET 9 (C# 13)
  • Database: PostgreSQL with EF Core
  • Orchestration: .NET Aspire
  • Cloud: Azure Blob Storage
  • Payments: Stripe SDK
  • Caching: ASP.NET Core In-Memory Cache
  • Messaging: MediatR-based event bus

Next Steps

1

Clone the Repository

Get the source code from GitHub
2

Install Prerequisites

Ensure you have .NET 9 SDK and Docker Desktop installed
3

Run with Aspire

Set Wolfix.AppHost as the startup project and press F5
4

Explore the API

Access the Swagger UI at https://localhost:5001/swagger to test endpoints

Build docs developers (and LLMs) love