Q: Difference between Vue router and express, are both needed (especially when using Firebase)? I'm trying to build a relatively simple application that has several different views, requires authentication, collects some user data, stores it in a database, and needs backend logic to manipulate that data and spit it back out to the user in a view.
The stack I've decided on is Vue for the frontend, with Express and Node for server side logic and Firebase for some of their services (namely auth, firestore, storage).
I haven't been able to find any examples of this stack (Vue, Express, Firebase) anywhere (I have however found Vue/Express or Vue/Firebase examples). My question is whether or not Express is obsolete here in that I can use Vue router to do my routing. Is the difference that one does the rendering server-side?

A: You could use Cloud Functions for Firebase as your backend and then limit your stack to Vue.js and Firebase.
From the doc:

Cloud Functions for Firebase lets you automatically run backend code
  in response to events triggered by Firebase features and HTTPS
  requests. Your code is stored in Google's cloud and runs in a managed
  environment. There's no need to manage and scale your own servers.

For your specific need: "backend logic to manipulate that data and spit it back out to the user in a view." you have several possible approaches:


*

*You manipulate the data with Cloud Functions (in the back end), write the results of this manipulation to the Real Time Database and setup some  listeners in your Vue.js frontend (with the on() method) that will refresh your front end upon changes in the database

*Use some HTTPS Cloud Functions that you call, from your Vue.js front-end, as REST API endpoints. You can use Axios for example. See the doc here.


One advantage of the first solution is that you can easily, by default, rely on the database security rules, while it would need some more extra work in the second case.
