This question already has an answer here:
We want to build a web service like google reverse geocoding.
Of course, we will only provide the service for only a specified region.
Then we want to know things we need to implement it.
By now, we have the pois,roads data of the region with ESRI Shapefile data.