I’m a rather experienced full-stack developer (coming mainly from Python and system architecture, but familiar with various other environments) currently in the process of learning Meteor, and using it to build a simple application for a small side project. I’d appreciate some advice on how to structure my app.
The app is very simple: it has a home/login page where users authenticate via a third party, and then follow a sequence of screens, some of which are sequenced to transition after a certain time period (a few seconds) and some require user input. All of the data is client-side and there is no persistence required other than the user auth tokens. Obviously I make heavy use of Session variables to maintain client state.
So my architectural questions are these:
- I currently use Iron Router to manage transitions between some UI states, but noticed it’s deprecated(?). What’s a better way of managing routes?
- How should I structure UI states that occur on the same route? I’m currently hiding/showing elements using CSS/JS on certain actions but that feels like a hack.
- Is there a better way to bind certain events on Session variables to UI changes instead of glue code that I hack?
Note that I’d like to use Meteor-native features as much as possible and avoid any additional client side frameworks unless absolutely required.