Software Architecture OverviewΒΆ

The Penciler software architecture is composed of four main components:

  1. A front-end module that handles user interaction and map visualization

  2. A back-end module that presents a complete API for computation and data storage/retrieval

  3. A dedicated webservice implementing the floorplan algorithm

  4. A database for geographic and non-geographic data storage

The Penciler front-end interacts with the Penciler back-end to resolve any functional and data requirements, and in turn the server-side component handles the database communication and also route request to the layout service back-end. In terms of map display, both 2D and 3D representations are handled by the front-end component, receiving geometric data from the Penciler back-end and the layout service.