How jemcats-software/maple works
MAPLE converts Plus Codes to memorable four-word codes and back; its coordinate interface converts latitude/longitude through Plus Codes. Node.js and browser implementations expose the core capability, while a small Express service provides HTTP endpoints and optional usage statistics. The README establishes the encoding purpose; source excerpts confirm the Node.js and service flows. Browser pages and some modules are present in the tree but were not sampled, so their internal wiring is not inferred.
Main entry points: nodejs/index.js Node entry · main_scripts/index.js HTTP API · MAPLE-coords.js Coordinate codec · MAPLE.js Word-code codec
Components 13
Clients
- Node entry
nodejs/index.js - Browser library
js/MAPLE-full.js - Web pages
webpage
Encoding library
- Word-code codec
nodejs/src/MAPLE.js - List loader and alphabet
nodejs/src/MAPLE-helper.js - Coordinate codec
nodejs/src/MAPLE-coords.js - Browser codec and loader
js/MAPLE-full.js
HTTP service
- HTTP API
docker/main_scripts/index.js
Word and stats data
- Word-list files
assets/dist/words_1.json - Request statistics
docker/data/stats.json
Other components
- User or caller
- Hosted word lists
- Plus Codes library
Connections 16
- User or caller → Node entry: uses
- Node entry → List loader and alphabet: assembles
- Node entry → Word-code codec: assembles
- Node entry → Coordinate codec: assembles
- List loader and alphabet → Hosted word lists: fetches lists
- Word-code codec → List loader and alphabet: uses lists
- Coordinate codec → Word-code codec: encodes or decodes
- Coordinate codec → Plus Codes library: converts coordinates
- User or caller → Browser library: uses
- Browser codec and loader → Hosted word lists: fetches lists
- Browser library → Browser codec and loader: loads codec
- User or caller → Web pages: visits
- User or caller → HTTP API: requests
- HTTP API → Word-code codec: encodes or decodes
- HTTP API → Coordinate codec: converts coordinates
- HTTP API → Request statistics: reads and writes