
Describing the project
As with our tasks application that was outlined in Chapter 1, A Task-management Application, we begin the development by getting a high-level overview of what the project will do and how our application will behave.
Searching nearby locations
The core component of this application is its ability to find other locations near an existing location. The easiest way to find this information is to take advantage of a third-party API. For this application, we'll be using the Google Places API, a web API that can provide nearby locations from given latitude and longitude coordinates.
Showing locations
Rather than simply telling our users what locations are near a given point of interest, we can enhance user experience by showing them the points of interest and nearby locations on a map. Many different mapping sources exist to show a map. For this application, we'll take advantage of another Google API, the Google Maps API.
Storing locations
To show the user the locations that are available for them to search nearby, we need to store these locations first. For storing these locations, we'll need a database that we can store imported locations into. Like our tasks application that we developed in Chapter 1, A Task-management Application, we'll use SQLite as our primary database again.
Importing locations
Finally, we're going to need a command-line tool to import locations from a data feed. To accomplish this, we're going to create a console task that can be run from the command line. This task will fetch information from the provided JSON feed and import it into our database. By making this a command-line task, we can automate and schedule the import via scheduled tasks on Windows or a Unix crontab.