Hi Changsheng G., I noticed your profile and would like to offer you my project.
I had a programmer write a PHP script that scrapes this website:
[url removed, login to view]
It then generates a very basic html-file showing a google map with markers where all the surgeons are located in the United States. The script is invoked by a cronjob on a regular basis to regenerate the page.
We downloaded a comprehensive list of ~30,000 zip codes in the U.S. from unitedstateszipcodes.org. Then, the script has been programmed to calculate the distance between every postal codes geo location to every other one and then cluster them. So now I have ~75 postal codes which I submit to the webpage and request all surgeons in a 200 miles radius to each of the codes.
This displays all surgeons in the United States on a searchable (by name and city/zip code) map.
Right now, the map is a static file which the crawler regenerates as a cron job. It is currently configured so that the timespan in which a postcalcode is considered actual is 30 days. Therefore, after 30 days, the cronjob is started and the postal codes will be queried again and all surgeons belonging to it will be updated. Since the crawler updates 10 postal codes in one run, the script run time is very fast. The cronjob is being run twice a day to look for outdated postalcodes and refresh them, but this might be overkil.
You can see what it looks like here: [url removed, login to view]
The changes I would like would be: for the app to download all info (for map markers & detail popup) in a kind of "30 days update". So every 30 days (or if not possible - as soon the user is online), the app polls ALL info from the AWS instance at once and saves it app-internal. So you wont need a network connection for the app to work despite once every 30 days to update.
Then, I would like an Android/iOS app made for it using Ionic.