Modern Yangon bus route planning and line browsing in a single React application.
Rangoon Mapper combines two workflows on one map:
- route planning between bus stops
- browsing and inspecting bus service lines
The app is built around the YRTA open data set, strict TypeScript, a full-screen MapLibre map, and a dark-first halftone UI.
Live site: rangoonmapper.khzaw.dev
- React 19
- TypeScript (strict)
- Vite 7
- Zustand
- React Router 7
- MapLibre GL via
react-map-gl - Tailwind CSS 4
- Framer Motion
- Vitest + Testing Library
- Effect
- Full-screen unified map UI for route planning and bus line browsing
- Dijkstra-based route search across connected bus services
- Animated bus line rendering with service-specific colors
- Deep links for routes and bus services
- English and Burmese locale support
- Dual theme modes with persistent theme preference
- Hoverable route stop markers and persistent transfer markers
- Docker image build and GHCR publishing workflow
This repo currently ships the app with static data under public/data/:
adjancencyList.jsonbus_services.jsonroute_shapes.jsonstops_map.jsonunique_stops.json
These files are used directly by the frontend at runtime.
- Node.js 22
pnpm
pnpm installpnpm devpnpm lint
pnpm test:run
pnpm buildBuild the production image locally:
docker build -t rangoon-mapper .The image serves the built SPA through static-web-server.
GitHub Actions runs the verification pipeline on pull requests and before image publishing on master.
Current CI steps:
- install dependencies with
pnpm - run ESLint
- run Vitest
- run the production build
- build and publish the container image to GHCR on
master
src/— modern application sourcepublic/data/— runtime data filescrawler/— source geometry and data extraction artifactsexperiment/— legacy data prep and earlier route assetsapp/— legacy application retained for reference during the rewrite
Contributions are welcome. Read CONTRIBUTING.md before opening a pull request.
- Bus stop and service data are provided via Yangon Bus / YRTA open data. See the YRTA Open Data License.
- Application code in this repository is MIT licensed.



