Over the course of developing our product we realized that our back-office is looking more and more like a CRM, and I’m starting to believe we’re waisting resources on implementing our own version of it.
So we’re starting to look at using a pro CRM, like Salesforce. It comes with a DB, and I’m wondering if I could plug my meteor app entirely on its DB, while modifying the least amount of things on the client and meteor server.
Salesforce has a streaming API, that you can connect to a backend, and then push updates to your clients via socket.io for example. Here’s a guy doing it.
Meteor’s reactivity seems to work essentially when you modify mongoDB, and subscribe to those changes, so I’m wondering what the best way is to preserve reactivity on our front-end. Would it make sense to sync mongoDB with salesforce? Is it too big a risk to have the data in both places?
Should I write all data to Salesforce and Read all data from mongoDB? What about the added latency (assuming I have both set up in the the same city/datacenter)?
Should I give up reactivity and simply take away mongoDB and use Meteor’s server as an intermediary layer between Salesforce and our front-end? (we don’t need it perse, but it’s that little bonus that blows users’ minds)
If anyone has ever implemented something like this or similar, I’d love to have your thoughts on this