Wholesale online store with SSR and an admin panel

Rendering
SSR
Payment methods
4
Delivery methods
3

Task

Build an SEO-friendly wholesale storefront: catalog with filters, cart, checkout with regional delivery and payment options, reviews, and a full admin panel.

Solution

Angular 21 with SSR and a .NET CQRS backend; OpenIddict authorization server (Authorization Code + PKCE); atomic stock reservation; notifications through a background queue.

Architecture

The storefront renders on the server: every category, product, and filter combination has its own URL (filters, sorting, and pagination live in the query string), so any view can be shared and indexed. Sitemap and robots are generated by the app; product pages carry reviews and ratings.

At checkout, stock is reserved atomically — a conditional UPDATE inside a transaction — so two buyers can't purchase the last pack; cancelling an order returns the stock. Delivery and payment options depend on each other and are validated on both client and server. Order notifications go to Telegram and email through a background queue with retries. The payment gateway sits behind an interface, ready for the region's bank acquiring.

Authentication runs on a separate OpenIddict authorization server with Authorization Code + PKCE, roles, and password recovery. The API client on the frontend is generated from OpenAPI (Orval). Handlers are covered by xUnit tests, database tests run against a throwaway PostgreSQL.

Need something similar?

Tell us about your task — we’ll reply with a timeline and cost estimate.

Discuss your project