Back to Projects
2025

Wallow

A multi-tenant SaaS platform built with ASP.NET Core, featuring identity management, billing, storage, and messaging modules

.NETASP.NET CorePostgreSQLOpenIddictDocker
Wallow

Overview

Wallow is a modular, multi-tenant SaaS backend built on ASP.NET Core. It provides a shared foundation for applications that need identity, billing, storage, and messaging out of the box — without reinventing the wheel for each project.

Architecture

The platform follows a clean, modular architecture with each domain — billing, identity, storage, messaging, and showcases — organized as a self-contained module. A centralized configuration system and tenant-aware middleware tie everything together, making it straightforward to add new modules or onboard new tenants.

Key Modules

  • Identity & Auth — OpenIddict-based OAuth 2.0 / OpenID Connect server supporting authorization code + PKCE, client credentials, and refresh token flows
  • Billing — Invoice generation, payment tracking, and subscription management with multi-currency support
  • Storage — File upload and management with configurable storage backends
  • Messaging — Announcements, notifications, and real-time communication channels
  • Showcases — Portfolio and project showcase management

Technical Highlights

  • Multi-tenancy — Tenant isolation at the data layer with shared infrastructure, keeping costs low while maintaining strict separation
  • OpenIddict Integration — Full OIDC provider with PKCE, token introspection, and dynamic client registration
  • Rate Limiting — Per-tenant and per-endpoint rate limiting with configurable windows
  • API Standards — REST endpoints following RFC 7807 Problem Details for error responses, with OpenAPI documentation via Scalar
  • Infrastructure — Runs as a Docker Compose stack with PostgreSQL and Valkey (Redis-compatible) for caching and session management