Andin

Website Repository

Andin helps you navigate complicated buildings by providing a map of the building's floors, a 3D view of its rooms, and interactive navigation directions. I'm no longer actively working on this app. For an Android app that I do actively maintain, see OsmFocus.

Two screenshots of the Andin android application, showing a map of rooms in a building

Andin's core idea is something I had on my mind for a while; a good mobile app to view the indoor mapping data that's already available in OpenStreetMap. A big part of that is the navgraph generator/routing engine I created. This generator creates a navigation graph from the room and corridor polygons of the building in OpenStreetMap.

Graph (points connected by lines) showing possible paths through a corridor in a building.
Navgraph for a simple building

Beacause I created multiple parts of Andin as school assignments there are three parts with corresponding git repositories:

The database repository contains migrations for the PostgreSQL backend DB. That database stores the processed building and room data from OpenStreetMap (physical rooms, not the android framework). The OpenStreetMap data processing scripts are written in Python and use shapely for topology stuff.

The API is served by a Graphql server written in Go that interacts with the PostgreSQL database. I used graphql-go to handle GraphQL queries and squirrel + sqlx for the object relation model.

The Android app uses Android Jetpack and Room.