Hay sitios web donde venden apps listas para personalizar, codecanyon es bastante famosa, si hay algo parecido a lo que quieres ni idea. A veces es más trabajo adaptar algo de un tercero a tus necesidades que hacerlo de cero.
De todas formas, la arquitectura sería bastante típica:
- Base de datos que soporte índices geoespaciales (MongoDB o las últimas versiones de MySQL)
- Un servidor programado en Java/PHP/node.js/... que haga de controlador de todo y se comunique por http con la aplicación Android. Ahí más que plantillas hay frameworks que facilitan la vida.
- La app, que en el fondo lo único que hace es autenticar al usuario, pasarle al servidor la localización y recibir la información de puntos cercanos que haya en la base de datos. Lo que llevará más trabajo es hacer una interfaz de usuario en condiciones.