Architecture & Tech Stack

How does area-based routing work (Admin / Demo / root)?

The Web project uses ASP.NET Core *areas* to separate the application's distinct surfaces. A controller placed under Areas/Admin/Controllers is automatically served at /Admin/<Controller>/<Action>; the same applies to the Demo storefront area at /Demo/.... Root-level controllers (no area) serve public or device-specific entry points like the driver app, the active website template, the…

The Web project uses ASP.NET Core *areas* to separate the application's distinct surfaces. A controller placed under Areas/Admin/Controllers is automatically served at /Admin/<Controller>/<Action>; the same applies to the Demo storefront area at /Demo/.... Root-level controllers (no area) serve public or device-specific entry points like the driver app, the active website template, the analytics tracking endpoint, the WhatsApp webhook, and authentication. This keeps the back-office, the reference storefront, and the public/integration surfaces cleanly isolated — each can have its own layout, conventions, and routing — while all running from one application. The admin back-office spans roughly 57 controllers, the Demo storefront about 11, and root-level surfaces about 10.