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
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