NAITEC Digital
← Back to News

Beyond Drupal: Hosting a Progressive Web App on GovCMS

GovCMS is the Australian Government's whole-of-government content management platform. It's built on Drupal, managed as a SaaS offering, and used by hundreds of federal, state, and local government agencies. It's a great platform for what it's designed to do — content-driven government websites.

But what happens when a government project needs something GovCMS wasn't designed for?

The Challenge

When the Australian eSafety Commissioner engaged NAITEC Digital to build Robo Raven and the Ancient Relics — an interactive online safety game for primary school students — the technical requirements went well beyond a standard Drupal site. The application needed:

  • Angular and Ionic for the game framework
  • Progressive Web App (PWA) capabilities for offline and low-connectivity use in rural schools
  • Complex interactive game logic with animations, sound, and quiz engines
  • In-memory state management with zero data persistence for student privacy

This is a single-page application — not a content page. It doesn't use Drupal's templating, routing, or content management. So the question was: where do you host it?

Why Not Just Spin Up a Node Server?

The obvious answer would be to deploy the Angular application on its own infrastructure — a Node.js server on Azure, a containerised deployment, or a static hosting service like Azure Static Web Apps.

But government budgets don't always work that way. The eSafety Commissioner's existing Azure environment didn't have budget allocation for a dedicated application server. What they did have was GovCMS — already funded, already maintained, already compliant with government security and hosting policies.

The pragmatic decision was clear: make it work on GovCMS.

The Approach

GovCMS SaaS runs Drupal on a managed infrastructure. You don't get shell access, you can't install Node.js, and you can't run custom server processes. But you can serve static files.

That's the key insight. An Angular Ionic application, once built, compiles down to static HTML, CSS, and JavaScript files. These files don't need a Node server to run — they execute entirely in the browser. So the deployment approach was:

  • Build the Angular Ionic application into production-optimised static assets
  • Package the build output as files that can be served from within the Drupal environment
  • Deploy to GovCMS so the game is served from the same domain and infrastructure as the rest of the eSafety website
  • Configure routing to ensure the SPA handles its own client-side navigation without conflicting with Drupal's routing

The result: a fully interactive Angular PWA running on a Drupal SaaS platform, served from esafety.gov.au, with no additional hosting infrastructure required.

PWA on GovCMS: Making Offline Work

One of the primary reasons the application was built as a PWA was to support rural and remote Australian schools where internet connectivity is unreliable or limited. The service worker handles asset caching and ensures the game loads quickly even on slow connections.

This worked well within the GovCMS deployment because the static assets are cached by the service worker on first load. After that, the game runs primarily from the local cache — meaning the Drupal backend is barely involved in subsequent interactions. The server essentially serves the initial payload and the PWA takes over from there.

What This Means for Government Digital Projects

GovCMS is often positioned as a platform for building government websites in Drupal. And for content-heavy sites, it's an excellent choice. But this project demonstrates that GovCMS can also serve as hosting infrastructure for modern web applications that go well beyond traditional CMS use cases.

If your government project needs:

  • An interactive tool or calculator built in React, Angular, or Vue
  • A game or educational application
  • A data visualisation dashboard
  • Any single-page application that compiles to static assets

…you may not need separate infrastructure. If your agency already has GovCMS, you already have a deployment target.

The Outcome

Robo Raven and the Ancient Relics has become the most popular educational resource the eSafety Commissioner has ever released. It's used in classrooms across Australia, runs reliably on school-grade hardware from interactive whiteboards to Chromebooks, and was successfully tested in rural school environments.

All running on GovCMS.

Working with NAITEC Digital

At NAITEC Digital, we specialise in GovCMS, Drupal, and government digital platforms. But we also bring expertise in Angular, React, and modern application development — and we know how to make them work within the constraints of government infrastructure.

If your agency has a project that doesn't fit neatly into a standard Drupal site, get in touch. We've done it before, and we'd love to help.

Frequently Asked Questions

Can you host a single-page application on GovCMS?

Yes. GovCMS SaaS can serve static files, which means any modern JavaScript framework (Angular, React, Vue) that compiles to static HTML, CSS, and JS can be deployed on GovCMS without additional server infrastructure.

Does NAITEC Digital work with GovCMS?

Yes. NAITEC Digital is a BuyICT registered supplier specialising in GovCMS, Drupal, and government digital platforms. We work with federal, state, and local government agencies across Australia.

Can a PWA run on GovCMS?

Yes. A Progressive Web App built with frameworks like Angular Ionic can be deployed on GovCMS as static assets. The service worker handles caching and offline functionality in the browser, independent of the hosting platform.

What government projects has NAITEC Digital delivered?

NAITEC Digital built Robo Raven and the Ancient Relics for the Australian eSafety Commissioner — the most successful educational resource in the Commissioner's history. The game was built with Angular and Ionic, deployed on GovCMS, and serves classrooms across Australia including rural and remote schools.