Our SPA
We're currently working in a number of apps which are in the form of a Single Page Application. This article describes the common SPA structure we're using for such projects.
Technology stack
Our system uses NodeJS on the server side with FeathersJS for authentication (using ExpressJS) and real-time bidirectional communications (using SocketIO). We use MongoDB for our no-SQL database layer and Mongoose to integrate it with NodeJS.
On the client side we use the VueJS framework for templating and component model with the Vue router and Vuex storage layer.
To manage all our separate source files, assets and dependencies we use NPM (Node package manager) for the server side and WebpackJS (see also this noob intro) on the client side which also integrates more tightly with NodeJS and it's build process.