title: Recommended architecture for an application which syncs with server
body: <p>I am making an application, which syncs the data-entered locally, with the server.</p>
  
  <p>Challenges
   1. The application <strong>should never stop accepting data</strong>
   2. <strong>Internet connectivity is intermittent</strong> (which means that when internet connection is not there it keep collecting data offline, and should sync when internet becomes available)
   3. <strong>Strong security</strong>. Once the data has been entered by the user, there should be no way to delete it. (obviously, when the data reaches server its safe. When its there only locally, then it should be very safe!)</p>