You'll need data with the postcode for each shop you want to know about. Whether that's a MySQL database, a Neo4j graph database, some "no-sql" data source, etc., is up to you -- or more likely what data source you have the best access to. Then you'll need some way to determine distances between post codes, which typically means some sort of database-type thing that has latitude/longitude for each post code, and then a way to calculate that distance. (Some databases have inbuilt functions for that these days.)
I did something like that fairly recently using Neo4J starting from this article: https://www.graphstory.com/blog/2017/09/making-location-analysis-easier-with-graph-databases .
You might prefer to see if someone already has a ready-made package of data and code for the country/area you want to search in. (I was using US zip codes.)