This fork is being adapted into a touchless, multimodal campus wayfinding kiosk for NJIT. The deployment intent:
- Goal: Provide hygienic, touch-free navigation for visitors, students, and staff via voice and hand-gesture control, with optional touch.
- Hardware: Raspberry Pi 5 + Coral USB TPU, webcam for gesture capture, USB microphone array for voice, speaker for audio prompts, touchscreen display, and weather-resistant enclosure.
- Software focus: MapsIndoors map template as the UI shell; integrate gesture recognition (e.g., zoom/scroll/select), voice intents (e.g., “directions to the library”), and AI-assisted routing.
- UX defaults: Kiosk-origin pin, venue preselection for NJIT, fast reset-to-home on inactivity, QR code handoff to mobile, clear accessibility cues, and support for multiple languages.
- Safety and privacy: No persistent storage of user audio/video; design aligns with campus privacy expectations and touchless interaction hygiene goals.
This monorepo contains all UI projects for the MapsIndoors platform for Web. It is managed with Lerna, which makes it easier to work with multiple connected projects in one repo, like this.
The most interesting part of this repository is the Map Template. Get it up and running like so:
$ git clone https://github.com/MapsPeople/web-ui.git
$ cd web-ui && npm install && npx lerna run build
$ cd packages/map-template && npm run startOpen your browser on http://localhost:3000/ to check it out.
The repo consists of these packages, which are all found in the packages folder:
components, the MapsIndoors Web Components found at @mapsindoors/componentsdemos, a collection of demos of how to use the packages in this repomap-template, the MapsIndoors Map Template, a React app helping you get up and running fast and easy. It can be found at @mapsindoors/map-templatemidt, i.e. MapsIndoors Design Tokens, a design library used as the foundation for UI styles across MapsIndoors. It can be found at @mapsindoors/midt
Built on top of npm's Workspaces feature, Lerna makes sure you install the packages defined in each individual package's package.json. In this case, from components, map-template and midt. At the same time, you install the latest version of each of those projects so you can work with them across your packages in this repo. We often make changes to components we need for a feature in the map-template project. Using Lerna, we don't have to deal with npm link, but can work on one feature across projects easily.
We use, and heavily rely on, the use of Conventional Commits.
Conventional Commits lets us write commits in a standardized fashion, no matter the contributor, and since we follow Semantic Versioning, we can keep everything in check more easily following the standards.