A reactive framework would be my choice. I would go for Vue, because is so easy to use. But you may want React, because it is a lot more popular. In my opinion, React with Redux has the potential to cover all the needs in the front end in a clean and manageable way and it scales well. From what I read, Angular projects become hard to maintain as they grow. If you want your app to be SPA, you can do it with just about any framework these days. In the end, is about what you like. I like simple things. Just do not choose something obscure and a project that is not maintained.