[QUESTION STATUS – Still Looking for Answers]
I’m still new to microservices, I’ve watched tons of videos and read lots of posts, but still stuck. I get that it’s a divide and conquer thing for scalability and performance. I’m currently working on redeveloping my entire personal website from scratch using Node.JS.
Here are the requirements:
- Blog Module (expressjs w/o front-end)
- Shop Feature (expressjs w/o front-end)
- Guest Checkout (no user registration needed) Course Module (expressjs w/o front-end)
Each module is a REST API.
Then, on the front end, there’s going to be a master Administrator panel (made using Vue.js – or w/e front-end framework) that will communicate with all 3 of those modules to perform administrative tasks.
The course module will have a client dashboard (so people who purchases my course, can login and view the content – also Vue.js or w/e front-end framework).
NOTE – Authentication/Authorization will be implemented via Passport.js.
If you didn’t understand what I’m trying to say, just think of it as if it were like WordPress with WooCommerce and a course plugin, but the entire thing is broken down into microservice form, where staff/admins access the dashboard through one UI, and 3rdparty/guests/visitors who signed up access their dashboard through another UI.
Questions
- Should I use PassportJS as a 4th individual module? Or should I use PassportJS within each of the listed module above? Or should I use it in the Master Admin Panel?
- Does this mean that I will have 3 ExpressJS instances (one per backend API), 1 VueJS for Admin (for me to login), 1 VueJS for Client (people who paid and logs in to their dashboard), and 1 VueJS for Guest Front End (aka everyone not logged in to view store products, blog posts, etc.) = total of 6 projects
- Similar to Q1, but for blog API, should I make all routes accessible (admin and client), and then protect those routes via PassportJS through the Admin Panel Vue.js project and through the Vue.js project that will display all content to the world for read-only access?
- Is this setup even “valid”?
Thank you for your time and patience! T.T Also Happy New Years!