Skip to content

Commit 47c6204

Browse files
authored
Merge pull request #26 from mapmanager/dev
Updates to Readme
2 parents 6923b24 + 24b3f52 commit 47c6204

2 files changed

Lines changed: 117 additions & 28 deletions

File tree

README.md

Lines changed: 117 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,128 @@
11
# WebMapManager
2-
A web version of PyMapManager.
32

4-
**Note:** This project is still in active development and is not production-ready.
3+
WebMapManager is a web based application built to provide the same functionality of [PyMapManager](https://github.com/mapmanager/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.
4+
5+
![A preview of WebMapManager](./preview/preview.png)
6+
7+
---
8+
9+
## Live Demo
10+
11+
Explore the live demo at [https://mapmanager.net/WebMapManager/](https://mapmanager.net/WebMapManager/).
12+
13+
---
14+
15+
## Table of Contents
16+
17+
1. [Project Structure](#project-structure)
18+
2. [Setup](#setup)
19+
3. [Running a Development Instance](#running-a-development-instance)
20+
4. [Building WebMapManager](#building-webmapmanager)
21+
22+
---
23+
24+
## Project Structure
25+
26+
The WebMapManager project is organized into multiple packages to ensure modularity and extensibility:
27+
28+
### `packages/app`
29+
30+
- **Purpose**: The base application.
31+
- **Features**:
32+
- Plugin system for extensibility.
33+
- Tab and shared state management systems.
34+
35+
### `packages/core`
36+
37+
- **Purpose**: Interlanguage interfaces and core functionality.
38+
- **Features**:
39+
- Communication with the shared `MapManagerCore` Python package.
40+
- File loading and saving adaptors.
41+
42+
### `packages/image-view`
43+
44+
- **Purpose**: Image viewer plugin.
45+
- **Features**:
46+
- Renders image slices.
47+
- Visualizes annotations.
48+
- Interactive editable annotations.
49+
50+
### `packages/scatter-plot`
51+
52+
- **Purpose**: Scatter plot plugin.
53+
- **Features**:
54+
- Create 2D & 3D scatter plots.
55+
- Custom analysis axes and markers.
56+
57+
### `packages/table`
58+
59+
- **Purpose**: Table plugin.
60+
- **Features**:
61+
- Displays raw data and derived analysis in a table.
62+
63+
### `packages/example-plugin`
64+
65+
- **Purpose**: Example plugin.
66+
- **Features**:
67+
- Serves as a starting point for creating new controls, tools, or visualizations for WebMapManager.
68+
69+
---
570

671
## Setup
772

8-
* Initialize submodules:
9-
```bash
10-
git submodule init
11-
git submodule update
12-
```
13-
* Install Node.js(https://nodejs.org/en)
14-
* Install Python 3.11+
15-
* Install JS dependencies:
73+
Follow these steps to set up the project for development:
74+
75+
1. **Initialize Git Submodules**:
76+
```bash
77+
git submodule init
78+
git submodule update
79+
```
80+
2. **Install Node.js**:
81+
- Download and install Node.js from [nodejs.org](https://nodejs.org/en).
82+
3. **Install Yarn**:
83+
- Install Yarn using npm:
84+
```bash
85+
npm install -g yarn
86+
```
87+
4. **Install Dependencies**:
88+
- Install dependencies for the project:
89+
```bash
90+
yarn install
91+
```
92+
5. **Install Python Dependencies**:
93+
- Install Python 3.11+.
94+
- Install the required Python packages:
95+
```bash
96+
pip install -r requirements.txt
97+
```
98+
99+
### Running a development instance
100+
101+
1. Run the server:
102+
16103
```bash
17-
yarn install
104+
yarn dev
18105
```
19106

20-
## Build
21-
* Build the static application:
107+
2. Open [http://localhost:3001](http://localhost:3001) in the browser (tested on Google Chrome).
108+
109+
### Build WebMapManager
110+
111+
To build the static application for deployment:
112+
113+
1. Build the static application:
114+
22115
```bash
23116
yarn build
24117
```
25-
* Upload the `/build/` directory to `/WebMapManager/` to your static file server.
26-
* By default, the application is served from a `/WebMapManager/`. To serve the application another directory:
27-
* Update `homepage` in `packages.json`to the directory of your choice:
28-
```json
29-
{
30-
"homepage": "/WebMapManager/",
31-
}
32-
```
33-
34-
## Running WebMapManager
35-
* Run the server:
36-
```bash
37-
yarn dev
38-
```
39-
* Open [http://localhost:3000](http://localhost:3000) to view it in the browser (Tested on Google Chrome).
118+
119+
2. Upload the `/build/` directory to your static file server under `/WebMapManager/`.
120+
121+
3. **Optional**: To serve the application from a different directory:
122+
- Update the `base` property in `vite.config.ts`:
123+
```js
124+
export default defineConfig({
125+
base: "/your-directory/",
126+
...
127+
});
128+
```

preview/preview.png

1.14 MB
Loading

0 commit comments

Comments
 (0)