I’m very excited about Meteor. I’ve read a bunch of articles/tutorials and it seems like a great solution for future development. As a long time developer and having looked at dozens of NodeJS based architectures I like Meteor because it’s very complete as opposed to a more home grown architectures even when using something like the MEAN stack (which really requires a lot more work just to get started). With that said I prefer more opinionated architectures like Ruby on Rails but there’s certainly a great advantage of the javascript everywhere and the fact that meteor includes all sorts of goodies (mobile, deployment, websockets) which really leads me to try to create and application in Meteor.
I would like to write an application that has the following aspects (typically for standard business app):
- storing several tables of information with validations
- standard list views (e.g., datatables) and forms (with validations) - lots of CRUD, some business logic
- API calls to external RESTful APIs
- works both on web and mobile
- nothing fancy on the UI - i.e., can use bootstrap - mostly data presented
- autocomplete fields - to search in a table for items
- real-time is nice (since it’s already part of Meteor) but honestly not necessary in most cases.
- Login/Account creation - regular password/google/facebook
- different roles / views of data/screens based on role
-
So after reading a bunch it seems like I can just figure out that I need things like collections2 and all of the right other packages or use something like Meteor Kitchen or some boilerplate. Meteor Kitchen seems to generate a nice starting point for a CRUD based system (and authorization) but is that the way to go? Does it generate a good (recommended) starting point? It seems to do its data validation on the client and not the server.
-
I’m used to MVC and regular routing. I noticed that many articles specify iron-router. Recommended?
-
I’m used to RESTFul services and no session but it seems like there is lots of use of the Session in the articles I’m reading. Is the use of the Session part of a typical (recommended) architecture?
-
I’m used to SQL databases, but want to give it a shot at MongoDB. If I go down the MongoDB path and it doesn’t work out for my application (e.g., need tons of joins) can I use an RDBMS? Are they supported? Some tutorials say not yet, but I see some libraries out there.
-
I’ve come across many meteor live links that just don’t work. Did some site hosting Meteor projects get turned off recently?
-
I’m used to datatables and I see Meteor Kitchen generates some usage of a table/grid. What’s the recommended approach here?
Again, overall I’m looking for a consistent, highly-used set of approaches for my architecture that most people are following and struggling with a little bit of too many choices.
Thank you in advance for the help!