All work
Property Map project cover
Case study

Property Map

Map. Arrange. Snap.

Property Management / Visual Mapping · US · 2023
Vue.jsVuetifyDesign SystemsUnit TestsSingle File ComponentDocker

About the project

Category
Property Management / Visual Mapping
Techstack
Vue.js · Vuetify · Design Systems · Unit Tests · Single File Component · Docker
Location
US
Year
2023

Property Map is a visual mapping tool that helps users create and manage a digital layout of a property using spaces and objects. A property can contain multiple floors, where spaces represent rooms and objects represent elements such as stairs, doors, and other property assets.

Start a project

The Challenges

Property Map interface screenshot

Accurate, Collision-Free Layout Editing

The existing map editor allowed spaces and objects to overlap, lacked proper snapping between entities, and caused placement issues when rotated spaces blocked nearby objects or rooms. Handling collisions around borders also required extra care because borders were included in the detection logic.

The Solution

Property Map solution walkthrough

Smart Snapping & Collision Detection Editor

We built a Vue.js single-file component for the web app and served the compiled component through a Docker-based server setup. Users can select a property, drag spaces and objects from the asset panel onto the canvas, rotate entities, and resize objects while editing the property layout.

To improve layout accuracy, we implemented collision detection using the Separating Axis Theorem, along with snapping, auto-snapping, and overlap-snapping. When entities are dragged near each other, they automatically snap together, while overlapping elements are repositioned based on the overlap factor and safely reverted if another collision is detected.

Property Map solution visual
Results

From friction
to flow.

Want results like this?
  • Before

    A monolithic editor with no clean structure.

    After

    Core architecture parts: Vue web app and Docker-based server

    2Architecture Parts

  • Before

    Spaces and objects overlapped freely, breaking layouts.

    After

    Major editing improvements: collision detection, auto snap, and overlap snap

    3Editing Upgrades

  • Before

    No reliable way to detect shape collisions.

    After

    Separating Axis Theorem implemented for accurate shape collision detection

    SATCollision Engine