I want to be able to publish events to Eventbrite, Eventful, and Google Calendar for my Google Apps. Each service has slightly different properties for events... I will be syncing many other things too, such as users with Google Contacts and MailChimp, Documents with Google Docs and some other services, etc...
So I'm wondering, what is the recommended way of retrieving the data for the end user so that it's reasonably maintainable and optimized?
Here are the things I'm thinking that I'm having trouble with:
My App keeps a central database of all the models (Event, Document, User, Form, etc.), and whenever Admin creates an object (e.g. create through Eventbrite or through our Admin panel), we sync them and store a copy in our local database. When User goes to the site /events, App retrieves the events from the database.
Read Events from a target feed, such as the Eventbrite or Eventful feed, and scrap the local database.
Basically, I'm wondering, if we're storing all of the data on a remote service, do we really need to have a local database copy of the data? When would we need to have a local database, when wouldn't we?