How queakie24/monastir-mapping-project works
Monastir Mapping is a browser-based historical emigration map. Users choose a destination city and census year, view household markers, and select an address to inspect family and person records. The graph follows the runtime visible in src/main.js; the README names the covered cities, while the sampled source shows the map and query flow. The HTML structure and database schema were not sampled, so their details are not expanded.
Main entry points: main.js Map runtime · testdb.sqlite Census database · index.html Map page · sql-wasm.js SQL.js initialization
Components 14
Map Interface
- Map page
index.html - City and year controls
index.html - Clustered markers
src/main.js - Family details panel
index.html - Leaflet map
Census Browsing
- Map runtime
src/main.js - City and year configuration
src/main.js - Address marker query
src/main.js - Address family details
src/main.js
Data Runtime
- SQL.js initialization
lib/sql-wasm.js - SQLite WebAssembly
lib/sql-wasm.wasm - Census database
database/testdb.sqlite
Other components
- Map visitor
- OpenStreetMap tiles
Connections 18
- Map visitor → Map page: opens
- Map page → Map runtime: starts
- Map visitor → City and year controls: selects
- City and year controls → Map runtime: dispatches changes
- Map runtime → City and year configuration: reads settings
- Map runtime → SQL.js initialization: initializes SQL
- SQL.js initialization → SQLite WebAssembly: loads runtime
- Map runtime → Census database: fetches database
- Map runtime → Address marker query: loads markers
- Address marker query → Census database: queries addresses
- Address marker query → Clustered markers: adds markers
- Map runtime → Leaflet map: creates map
- Map runtime → OpenStreetMap tiles: requests tiles
- Clustered markers → Leaflet map: displays markers
- Map visitor → Clustered markers: selects address
- Clustered markers → Address family details: dispatches click
- Address family details → Census database: queries family records
- Address family details → Family details panel: renders details