1. I would go with VueJS for frontend - see example https://vuejs.org/examples/tree-view.html
Definitely can recommend handling of complex state through redux/vuex.
For backend: Go with anything that you are proficient with. If you aren't familiar with anything I recommend starting with RubyOnRails/Sinatra/Django/web2py/Phoenix.
2. Yes - http://bestof.js.org/ See also http://stateofjs.com/2016/introduction/ ,