Mohamed,
There are two general architectural approaches, but each one is going to require reliable and usable[fast-enough] Internet to make it possible. How fast depends on your several factors.
One is to have a main/base office with the secondary location - server is in the main office and the secondary office connects to the sever through a variety of means.
Second approach is that the server is provided on the Internet behind a firewall, and each location connects to this central location. Again, lots of options there as well, the first being if you want to DIY, or use a service provider.
Bert and I can both elaborate further, but those are your top-level paths to support both (or more) locations on one database.
[Disclosure - we have a business unit recognized by AC that provides services in this arena]