---
title: Music Festival SPA
slug: cms-12/api/spa-demo-site
docTags: 
createdAt: 2026-08-07T16:45:44.000Z
---

You can download the [Music Festival](https://github.com/episerver/musicfestival-vue-template) demonstration site from GitHub. It is a Single-Page Application (SPA) site built on Optimizely Content Delivery API and `Vue.js`, and includes some customizations for friendly URLs and flatter JSON results.

![](https://api.archbee.com/api/optimize/BrbvVORKJ5iIeSMZye5kI/ofc-D0xfqfhmYYd6MqjKS-20260722-175335.png "content-delivery-api.png")

The sample site demonstrates one approach to rendering Optimizely content in a client-side framework that uses client-side routing for navigation with a working On Page Edit (OPE) mode in the Episerver UI.

This solution uses `Vue.js` with Vuex to handle the app's state in a single source of truth. Most techniques are framework-agnostic and can be used with any other framework, such as React or Angular.

### Blog posts on SPA applications

- Blog post: [Introducing a new SPA template site: MusicFestival](https://world.optimizely.com/blogs/john-philip-johansson/dates/2018/10/introducing-a-new-template-site-for-spas-musicfestival/)
- [Routing in a SPA with a working On-Page Editing](https://world.optimizely.com/blogs/Nicklas-Israelsson/Dates/2018/10/routing-in-a-spa-with-a-working-on-page-editing-experience-cms-ui-11-11-0/) experience
- Tips and tricks for a great [On-Page Editing experience in SPAs](https://world.optimizely.com/blogs/john-philip-johansson/dates/2018/10/tips-and-tricks-for-a-great-on-page-editing-experience-in-spas-and-other-client-side-rendered-sites/)
- [Introducing Foundation Spa React](https://world.optimizely.com/blogs/remko-jantzen/dates/2020/5/introducing-foundation-spa-react/)
