How brodyacquilano/mapdex-2 works
Mapdex is a full-stack spatial data platform for configurable map projects. Users enter through the web app, access viewer or editor workflows, explore and filter project records on an interactive map, and manage spatial data and project-defined schemas; server APIs provide protected project and data operations. Distinct product areas include spatial tools, community extensions, and voice commands. The README documents the product workflow; source-index references and excerpts establish only selected frontend and server connections, so unverified links are omitted.
Main entry points: MainApp.jsx Workspace shell · useSpatialToolsRuntime.js Spatial tools runtime · server.js HTTP API server · App.jsx Web application
Components 22
App entry
- Web application
src/App.jsx
Project workspace
- Workspace shell
src/workspace/MainApp.jsx - Map viewer
src/workflows/Viewer.jsx - Data editor
src/workflows/Editor.jsx - Schema builder
Spatial workflows
- Interactive map
src/map/mapbox/MapboxMapShell.jsx - Record filters
src/filters/hooks/useFilters.js - Geometry tools
src/map/utils/draftGeometry.js - Spatial tools runtime
src/runtime/useSpatialToolsRuntime.js - Map layers
src/workflows/Layers.jsx - Data aggregates
src/workflows/Aggregates.jsx - Boundary tools
src/workflows/Boundaries.jsx - Neighbourhood analysis
src/analysis/neighbourhood/NeighbourhoodAnalysisPanel.jsx
Community features
- Project extensions
src/extensions/ChatPanel.jsx - Image gallery
src/extensions/GalleryModal.jsx - Voice commands
src/system/voice/VoicePipeline.js
Backend services
- HTTP API server
server/server.js - Spatial data routes
server/routes/places.js - Project routes
server/routes/projects.js - Data validation
shared/validation/dataValidation.js - MongoDB
server/db.js
Other components
- Project user
Connections 21
- Project user → Web application: uses
- Web application → Workspace shell: routes to
src/App.jsx - Workspace shell → Map viewer: offers viewing
- Workspace shell → Data editor: offers editing
- Workspace shell → Schema builder: configures projects
- Map viewer → Interactive map: shows records
- Map viewer → Record filters: filters records
- Data editor → Geometry tools: edits geometry
- Workspace shell → Spatial tools runtime: hosts tools
- Spatial tools runtime → Map layers: supports
src/runtime/useSpatialToolsRuntime.js - Spatial tools runtime → Data aggregates: supports
src/runtime/useSpatialToolsRuntime.js - Spatial tools runtime → Boundary tools: supports
src/runtime/useSpatialToolsRuntime.js - Workspace shell → Neighbourhood analysis: offers analysis
- Workspace shell → Project extensions: offers extensions
- Workspace shell → Image gallery: offers gallery
- Web application → Voice commands: registers commands
- HTTP API server → Spatial data routes: mounts routes
server/server.js - HTTP API server → Project routes: mounts routes
server/server.js - Data editor → HTTP API server: submits data
- Spatial data routes → Data validation: validates records
- HTTP API server → MongoDB: connects on startup
server/server.js