WebMapManager is a web based application built to provide the same functionality of PyMapManager. It provides a plugin based architecture for visualizing and analyzing time-series annotations and 3D image volumes, making it highly customizable and extensible. Designed for ease of use, WebMapManager is built with a modern interface that simplifies the distribution and adoption of the MapManager.
Explore the live demo at https://mapmanager.net/WebMapManager/.
The WebMapManager project is organized into multiple packages to ensure modularity and extensibility:
- Purpose: The base application.
- Features:
- Plugin system for extensibility.
- Tab and shared state management systems.
 
- Purpose: Interlanguage interfaces and core functionality.
- Features:
- Communication with the shared MapManagerCorePython package.
- File loading and saving adaptors.
 
- Communication with the shared 
- Purpose: Image viewer plugin.
- Features:
- Renders image slices.
- Visualizes annotations.
- Interactive editable annotations.
 
- Purpose: Scatter plot plugin.
- Features:
- Create 2D & 3D scatter plots.
- Custom analysis axes and markers.
 
- Purpose: Table plugin.
- Features:
- Displays raw data and derived analysis in a table.
 
- Purpose: Example plugin.
- Features:
- Serves as a starting point for creating new controls, tools, or visualizations for WebMapManager.
 
Follow these steps to set up the project for development:
- Initialize Git Submodules:
git submodule init git submodule update 
- Install Node.js:
- Download and install Node.js from nodejs.org.
 
- Install Yarn:
- Install Yarn using npm:
npm install -g yarn 
 
- Install Yarn using npm:
- Install Dependencies:
- Install dependencies for the project:
yarn install 
 
- Install dependencies for the project:
- Install Python Dependencies:
- Install Python 3.11+.
- Install the required Python packages:
pip install -r requirements.txt 
 
- Run the server:
  yarn dev- Open http://localhost:3001 in the browser (tested on Google Chrome).
To build the static application for deployment:
- Build the static application:
  yarn build- 
Upload the /build/directory to your static file server under/WebMapManager/.
- 
Optional: To serve the application from a different directory: - Update the baseproperty invite.config.ts:export default defineConfig({ base: "/your-directory/", ... }); 
 
- Update the 
