← All Projects
Infrastructure & Web OperationsBeta

West Freeway Church of Christ — Website Redesign

Executive Summary

A volunteer-led, production-style nonprofit web platform for West Freeway Church of Christ, currently in beta on Ubuntu Server, Nginx, ASP.NET Core, and Umbraco CMS — with automated backups, recovery planning, and production cutover preparation, while the legacy site remains live during migration.

Business Problem

The legacy site lacked a documented accessibility testing process and presented accessibility limitations. Its content workflow prevented non-technical staff from publishing updates independently, and its mobile experience lagged modern expectations. Any redesign had to preserve the existing live site throughout the migration while operating within a volunteer-led IT model with no dedicated budget for professional hosting or support staff.

Architecture

An ASP.NET Core (.NET 10) application with Umbraco 18 as the CMS layer, backed by a SQLite database, structured with a clean separation of concerns across Pages, Services, ViewModels, and API Controllers. Razor Pages render the public site with Bootstrap 5 for responsive layout. Deployed to Ubuntu Server 24.04 LTS as a systemd-managed service, published behind an Nginx reverse proxy, with an automated backup and recovery workflow protecting the CMS database.

Internet
   |
Reverse Proxy (Nginx + TLS)
   |
ASP.NET Core Application
   |
Umbraco CMS
   |
SQLite Database
   |
Automated Backup & Recovery Workflow

Environment

Volunteer IT Support Specialist role covering the organization's website, livestream systems, and PBX phone system — the website rebuild is scoped and delivered independently while those other systems stay in daily operation.

Ownership

Sole technical implementer for architecture, implementation, deployment, backup design, troubleshooting, and documentation, with current responsibility for the beta environment and expected operational ownership after production cutover.

Implementation

  • Built 9 core pages with Bootstrap 5 responsive design
  • Integrated Umbraco 18 CMS so non-technical staff can manage content independently
  • Structured the codebase into Pages, Services, ViewModels, and API Controllers
  • Deployed to Ubuntu Server 24.04 LTS as a systemd-managed application service behind an Nginx reverse proxy

Infrastructure & Operations

  • Deployed and manage the application on a Linux (Ubuntu Server) VPS behind an Nginx reverse proxy with TLS
  • Run the ASP.NET Core application as a systemd-managed service, including service start/stop/restart and health checks
  • Perform layered service-health validation across the reverse proxy, application process, and database
  • Review application and database logs to diagnose service and connectivity issues
  • Run automated nightly database backups with integrity verification and retention management
  • Maintain documented recovery procedures for restoring the CMS database

Production Validation

Implemented automated accessibility checks with Playwright and axe across every core page to identify regressions and support progress toward WCAG 2.2 AA — not a substitute for a full manual audit. Verified the application service and Nginx reverse proxy are operational in the beta environment. Confirmed the automated nightly backup job completes successfully with integrity validation.

Troubleshooting Highlights

  • The public reverse proxy responded normally while the application layer was unavailable, producing a gateway error on the beta site
  • Tested each layer independently — reverse proxy, application service status, application listener, direct application response, public HTTPS response, and service logs — to isolate the failure before making changes
  • Restored the application service, validated both the internal application endpoint and the public HTTPS response, confirmed database integrity, and documented the incident

Skills Demonstrated

  • Linux Administration
  • Nginx
  • systemd
  • ASP.NET Core
  • Umbraco
  • SQLite
  • Backup Strategy
  • Disaster Recovery
  • Monitoring
  • Troubleshooting
  • Technical Documentation
  • Stakeholder Communication
  • Production Change Management

Documentation

Architecture and deployment notes maintained alongside the codebase, covering the systemd service configuration, the Nginx reverse proxy setup, the backup and recovery workflow, and the Umbraco content model for staff handoff.

Outcome

  • Working beta environment for the redesigned website, operational ahead of a full production cutover
  • Repeatable deployment process for the ASP.NET Core application on Ubuntu Server
  • Managed Linux application service running under systemd
  • Automated nightly database backups with integrity verification
  • Structured operations documentation covering deployment, monitoring, backup, and recovery
  • Improved content-management foundation for non-technical staff
  • Stable legacy site retained for visitors throughout development
  • Production cutover from the legacy CMS remains pending
Nginx reverse proxy running as a managed systemd service in the beta environment.
.NET 10ASP.NET CoreUmbraco 18 CMSSQLiteC#Razor PagesBootstrap 5PlaywrightaxeUbuntu ServerNginxsystemdGitHubGoogle CalendarYouTube
View on GitHub ↗