I am about to start developing a POS software as my new project with python and electron js. It is going to be a desktop application. However, my concern is it should work in both cases when desktop is connected to Internet or not. If I use cloud database services like azure or aws, I'll certainly be able to have a POS software that works online. If I use local databases, I'll be able to deploy a software that works offline. What could be the best way so the application works in both cases like: If its connected to Internet, AWS serves as database. If it's not, modifications are stored locally and get updated as soon as desktop goes online.

POS Software can be used by stores with multiple branches so data has to be synchronised all the time.

I'll really appreciate any input in this regard :)

This is my first desktop application software on this scale. I've been doing online stores in php uptil now.

Please bear with me if I couldn't express myself precisely.

  • Are all store locations within a smaller geographic region or is this a national footprint? What database platforms are you considering? You could run a local copy of SQL Server and run a data sync between the local instance and the primary instance running in Azure: docs.microsoft.com/en-us/azure/sql-database/… – Mike Ubezzi MSFT Dec 4 '18 at 0:02
  • I'd say all store locations will be in a smaller geographic location. Within a city or state, precisely. May I know how does that change things around? And yes, I'm considering MySQL. (Is it a bad choice for such a project?) Thank you for helping out!! That article will be a life saver. Really appreciate that :) – Abbas Dec 4 '18 at 7:19
  • And yea, I am considering to use microsoft sql server as my member database and maybe azure to store my hub database. I'll be needing a data sync agent as given on that microsoft link you've posted. – Abbas Dec 4 '18 at 8:16

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.