# Creating a Single Page Application (SPA) in WeWeb: Best Practices and Resources

Hello WeWeb community,

I’m looking to create a Single Page Application (SPA) using WeWeb’s no-code frontend development platform. Specifically, for example I’d like to implement the following:

  1. A sidebar navigation menu with options like Home, Settings, and Preferences
  2. A main content area that updates dynamically based on the selected sidebar option
  3. Smooth transitions between different views without page reloads

Could you please provide guidance on:

  • Any specific WeWeb features or components that are particularly useful for building SPAs?
  • Best practices for structuring an SPA project in WeWeb
  • Links to relevant documentation, tutorials, or video resources that demonstrate SPA creation in WeWeb
  • Any gotchas or common pitfalls to avoid when building SPAs with WeWeb

If anyone has personal experience creating SPAs with WeWeb, I’d greatly appreciate hearing about your approach and any lessons learned.

Thank you in advance for your help!

Hi @samtay32 :wave:

Multi-page sections are what you’re looking for :slight_smile:

Here are some resources that will be helpful:

Note:

  • inside the WeWeb Editor, it will look like the page is reloaded even if you use multi-page sections but, in the published app, it won’t be: only the new sections will be.
  • the UI has changed a lot since we recorded the videos. We are in the process of recording new versions but don’t hesitate to reach out or check out the user docs in the meantime.
1 Like

Thank you @joyce for your quick response.

I’m playing around with the items of "Side Menu, Nav, and Container that come as “kit” if you will. I noticed the Side Menu section does not have any way of manipulating its CSS. What am I missing here?

Thank you.

(attachments)

Ah, this is because it’s built with a modal section (to leverage the built-in backdrop feature). If you go inside the section, the container will have all the CSS properties you need to customize the style of the sidemenu :slight_smile:

Does that help?