MVC architecture of PureMVC/JS is the most elegant IMO. I learned a lot from it. I also found Scalable JavaScript Application Architecture by Nicholas Zakas helpful in researching client side architecture options.
Two other tips
- I’ve found view, focus, and input management are areas that need special attention in single page web apps
- I also found it helpful to abstract away the JS library, leaving door open to change mind on what you use, or mix & match should the need arise.