Inspiration

If you want to purchase a specific set of products in a large Migros branch whose layout you're not familiar with, then you surely know the following problem: You don't know exactly where to find the products you need (especially when you're e.g. shopping for a specific recipe) and end up walking around the shelves for minutes and minutes.

What it does

MI-MAP finds the shortest possible shopping path for a given set of products. The resulting path is then displayed in a 3d model of the store.

How I built it

Python (numpy, scipy, matplotlib): Dijkstra shortest path algorithm to find the optimal path through the store graph. Create store graph using matplotlib visualization. Three.js: 3d visualization of Migros store layout. Usage of Migros API to get product categories.

Challenges I ran into

Exact position of products in store is not available in Migros apis provided. Hence, we just worked with assumptions where the product category would be located in the store (manual mapping). JS/PHP frontend querying API and Python backend are not yet properly working together.

Accomplishments that I'm proud of

That we got the 3d visualization and display of the optimal path working in Three.js

What I learned

A lot;-)

What's next for MI-MAPI

It would have to be evaluated whether Migros has exact in store position of products and 3d store layouts available. If those things are available an integration into existing shopping list/cart apps or mechanisms seems like a viable option to pursue.

Built With

Share this project:

Updates