Instead of dijkstra you could use A*, its easier to pronounce. But you really dont need to do pathfinding as the nooks and crannies of roads will even out and some would take the train so it wouldnt be a good comparison anyways.
i love your progress of never tried c# to start knowing it in a prev video to actually rating it the best backend lang and now; writing a whole API with it
2:25 What are we caching ? The data that was returned from the users query? What would the key be ? Would we just use the request params as the cache key and cache the response to those params? Then perform the distance filtering? Havent used redis or any cache layer before so just trying to figure out what is going on here.
Could have loaded the data into SQLite through the CLI, cleaned it there, then moved it to Postgres. Could have even left it on SQLite since it's mostly read operations taking place on the data
For sending data to the frontend, why don't you just consider using a type of pagination meaning x entries per page, page offset by x * pagenumber something like that. You don't NEED too get all results at once, that would be horrible, but you also don't need to let that limit yourselves in showing more results.
If you are using your own path-finding algs for mapping, you might as well write a separate front end for it and *boom* mapping app. That is to say, you should almost certainly not take this approach and instead leverage an existing services' API such as google map's. If you really do want to go down the route of hosting and running your own mapping algs, you're going to need far more data and compute than what you're currently working with not to mention hosting it at scale will wind up costing you a TON more than just leveraging an api (which will be far more accurate in any event).
You should check google S2 or similar lib for querying entities within the range on a map. It's crazy efficient because you store coordinates as a bigint instead of real latitude and longitude. There are shitload of underlying math, but lib pretty much abstracts you from it.