Skip to content

Architecture

REcover is built on ASP.NET Web Forms with a traditional three-tier architecture:

  • Presentation Layer (Web Forms)
  • Business Logic Layer (App_Code/)
  • Data Access Layer (Entity Framework)

Key Components

Presentation Layer

  • Default.aspx — Survey builder interface
  • Survey.aspx — Public survey interface
  • Site.Master — Entry point and shared styles/libraries

Business Logic Layer

Located in App_Code/, this layer contains:

  • Database contexts
  • Data models
  • Translation handler

Database Layer

  • PRM Database — Stores survey data and responses and provides site data
  • StatSchedule Database — Provides shift and schedule data
  • QGenda Database — Provides shift and schedule data for AW sites

Authentication

  • Microsoft Entra ID integration via PacificSnippets library
  • Implemented in Startup.cs (OWIN middleware)
  • Secret keys defined in web.config
  • Protected routes defined in web.config

Data Flow

  1. PHW staff creates survey in builder (Default.aspx)
  2. Draft, archived, and published surveys are saved to PRM database
  3. Survey is distributed via links/QR codes created by Delaino
  4. Responses are collected and stored under the survey’s distribution group and in the PRM database as HTML, JSON, and Base64
  5. Email alerts are triggered for negative responses, and sent to the survey’s distribution group

Error Handling

  • Custom error monitoring system in Global.asax.cs for global errors
  • Monitoring integration via PacificSnippets library

State Management

The pages maintain state through:

  • ViewState for language, collections, and page state
  • Session for admin data
  • Database for persistent storage
  • Query parameters for survey and reference IDs