Hey there,
So I built a large meteor-angular project before 1.3 that was pretty awesome, it was almost ready for “production” but got put on hold for various reasons.
My biggest issues at the time was the angular reactivity side of things… just felt clunky. Now I want to redo the project and I figure why not use react and apollo!
I’ve looked at the meteor react todo github repo (and tutorial) and it looks pretty awesome. I like the structure of the code, the smooth transitions between views etc etc. So my plan of action is:
- Build a meteor project that is structured the same as the todo react repo.
- Add in the necessary packages for apollo
- Start migrating code across from my previous meteor project into react/apollo structure
My main reasons for wanting to use Apollo is graphql, performance, structuring my queries/joins in a nicer manner etc.
My questions are:
- Should I be jumping into Apollo so soon or stick to pub/sub and wait?
- Will grounddb - offline support still work?
- Any mobile issues I need to consider?
- Structuring data - any changes I should consider?
My biggest challenge earlier was point 4. I ended up having duplicate data all over the place and then I had to write complex update queries that would update various collections when an update was made on one item. E.g. a user can have many issues. Each issue has the user_id and the users name as I list this out and this can be filtered on. If the user changes there name I have to update the user collection and all issues who have this is.
Summary of project:
Authentication
Many-to-many relationship collections (projects -> users, projects -> issues, issues -> users, issues -> images, notifications -> users etc)
Roles and permissions
Push notifications
Mobile app with offline support (crucial)
Reports (tables to pdfs / excel)
QR code integration
Anyway thoughts and opinions are always welcome.
Love meteor, love angular, fingers crossed for react.
(also I’ve looked at tonnes of other solutions e.g. horizon, featherjs etc etc but Meteor keeps dragging me back in )