New to Meteor and to the forums.
Already had my few weeks with Meteor… and what can I say… so far - we’re in love
I used the term a Single Meteor Project on purpose. Because I have googled first and also checked the most similar questions here in the forums but didn’t find the answer. Most questions I found are asking about sharing just the Meteor backend.
I think this question is pretty general and may benefit others as well.
Let’s assume I have a single Meteor project which has it’s various software layers laid, configured and well-tested (db, security, users, routing, etc.).
If I want to take advantage of the whole environment and basically create a new (lightweight) app by adding the following to the existing project:
- new user (few lines of code)
- the new app (basically it’s pages or visual components, could come down to 3-4 files)
- the relevant app data collections
- the app’s routing configuration (1 file)
Note that I mentioned the amount of code added to show how little it is.
Let me clarify that I’m talking about lightweight apps that have no more than a few users each and that will probably share at least 70% of the project’s code.
I have experience with Meteor+React and using Flow-Router for navigation, so technically I thought of loading the relevant app routing according to the user, which is a common case, but I want to expand this method to a whole different application space. Routing to pages that will access different data, etc. All of these lightweight apps can share the login page, let’s say.
Considering this direction 2 things that came to my mind were scalability & security. So I thought I’ll look for advice here with the experts.
The Questions (assuming it’s possible and not too complicated… )
- How scalable is this approach?
- Is there an extra risk security-wise?
P.S. I’m assuming that it is possible to dynamically switch app-space according to the user even though I hadn’t done it yet, sorry if I’m missing something basic about Meteor.
Many thanks if you read this far and I’ll be happy if you share your thoughts.