Skip to content

Overview

REcover is a survey platform that enables hospitals to receive realtime insights from patients. It started development under the codename Onyx in December 2023, and was put into production February 2024.

Key Features

  • Survey Creation — Drag-and-drop interface for building surveys with dynamic fields, autosave, duplication, and version control
  • Survey Distribution — Link sharing, QR code creation
  • Response Collection — Responses are saved to distribution groups and SQL database as HTML, JSON, and Base64
  • Email Alerts — Realtime alerts for negative responses to distribution groups

Tech Stack

  • ASP.NET 4.8.1 Web Forms
  • C# (server-side), JavaScript (client-side)
  • Bootstrap CSS 5.3.3
  • Font Awesome
  • jQuery 3.7.1
  • PacificSnippets
  • Entity Framework 6
  • Microsoft SQL Server

Structure

├── App_Code/
│ ├── PRM
│ │ ├── PrmDb.cs
│ │ ├── tblOnyxSurvey*.cs
│ │ └── tblRecoverSurveyNurses.cs
│ ├── QGenda
│ │ ├── QGendaDb.cs
│ │ └── vSchedules.cs
│ ├── Schedule
│ │ ├── ScheduleDb.cs
│ │ ├── tblSite.cs
│ │ └── vScheduleBatchCalendarShift.cs
│ ├── Survey.cs
│ └── TranslationEngine.cs
├── Content/
│ ├── globals.css
│ ├── Mona-Sans.woff2
│ ├── touchpunch.min.js
│ ├── favicon.ico
│ └── recover-logo.svg
├── Default.aspx
│ └── Default.aspx.cs
├── Survey.aspx
│ └── Survey.aspx.cs
├── Site.Master
│ └── Site.Master.cs
├── Startup.cs
├── Global.asax.cs
├── Web.config
├── packages.config
└── .gitignore

App_Code/

This is a folder that contains database contexts and models for tables from our PRM, QGenda, and StatSchedule databases (generated by Entity), as well as custom models, DTOs, helper functions, etc.

Content/

This is a folder that contains static assets, such as custom CSS, fonts, scripts, images, etc.

Default.aspx

This is the frontend code for the survey builder, where the layout and interactive features are made.

Default.aspx.cs

This is the backend code for the survey builder, where all the data fetching and business logic happens.

Survey.aspx

This is the frontend code for public surveys, where the layout and interactive features are made.

Survey.aspx.cs

This is the backend code for public surveys, where all the data fetching and business logic happens.

Site.master

This is the entry point for all pages, where global styles, libraries, etc. are placed.

Site.master.cs

This is the backend code the entry point. Only used to append a suffix to page titles.

Startup.cs

This is where middleware code is defined. Most importantly, this is where Entra ID authentication is implemented via PacificSnippets.

Global.asax.cs

This file implements application-level event handling. Most importantly, this is where we implement our error monitoring system.

Web.config

This file contains configuration settings for the ASP.NET application, including database connection strings, secrets, and application settings.

packages.config

This file lists NuGet package dependencies used by the application.

.gitignore

This file specifices which files to not track in version control.