Skip to main content

Domain Map: WepNG Business Logic

Overview

The core business logic resides in WepNG_Business.Model.Business. Unlike a clean DDD architecture, it seems to mix Business Logic, MVC Controllers, and Management tools.

Major Functional Areas (Inferred)

1. Core Business Logic (WepBusiness)

The WepBusiness namespace is segmented by functional area:

ModuleDescriptionKey Responsibilities
BOBack OfficeMajor Module. Managing strict business operations (finance/admin).
OMGTOrder ManagementThe largest module (745 items). Handles the core booking lifecycle. See OrderFee Specs.
CRMWepNG_CRMCustomer relationship logic, likely shared with the CRM MVC app.
WepAccessCollaborator PortalExternal portal for Interviewers, Coordinators, and Host Families.
MNTMaintenance / MastersConfiguration tables, master data (Countries, Currencies, Products).
CMSContent ManagementLogic for managing website content (News, Articles).
FormsForms ManagementLegacy forms handling logic.
FRONTFrontend LogicBusiness rules specific to the public website.
WAWork & TravelSpecific domain logic for "Work Abroad" programs.
INETIntranetInternal tools and staff functionalities.
MyWepStudent PortalBackend logic for the "MyWep" student area.
CommonShared KernelCross-cutting domain logic used by all modules.

Visual Dependency Map

2. Infrastructure & Shared Kernel

Foundational libraries upon which the business modules depend.

  • Data Access: WEPV2DataContext (Entity Framework).
  • Core Libraries:
    • EITWEP.Business: Legacy business objects and EF entities.
    • EITWEP.WEPUtils: Shared utilities, helpers, and extensions.
  • Infrastructure Services: Emailing, PDF Generation, and File Storage logic.

3. Application Components (Components, WepMvcControllers)

  • Components: Shared UI/Business components.
  • WepMvcControllers: Business logic tightly coupled to MVC controllers (an anti-pattern common in legacy systems).

4. Products & Catalogs (WepProduct)

Specific logic for the diverse product catalog (High School, Languages, Jobs, etc.).


Evolution Strategy

This map serves as a starting point to decouple the monolith. Ideal Future State: Extract WepBusiness into distinct bounded contexts (e.g., SalesContext, ProductCatalogContext).