9

Context

A mobile application can add/edit/delete a customer in it's own offline database. A web application can also add/edit/delete a customer in the master database on a web server. The mobile application will try to sync it's database with the master database every X hours, provided it has an internet connection available.

Case

  1. Mobile application edits customer A in its offline database
  2. Web application edits customer A in the master database
  3. Mobile application gains access to internet and syncs its offline database with the master database.

Question

How should the system handle the two versions of the data? The version of the Mobile application is older than the version of the Web application but overwriting everything edited by the mobile application with the data from the web application seems not very user friendly.

I'm looking for information/best practices on how to solve known versioning/syncing problems with data. I'm not interested in technologies who can assist in this. I want to understand the solutions before jumping blindly into a promising versioning tool.

1 Answer 1

13

I thought about this a lot and created a project... The documentation for it is detailed and explains why and how... It may help, or at least give you things to think about.

https://github.com/forbesmyester/SyncIt

Sign up to request clarification or add additional context in comments.

2 Comments

That was one of the cleanest most amazing projects, Thanks a lot. It was pretty helpful to me.
Awesome answer!

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.