Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
0e62c81
fix dependabot updates to use pnpm (#1019)
JannikStreek Oct 7, 2025
e26cc18
fix dependabot file (#1020)
JannikStreek Oct 7, 2025
76011df
build(deps-dev): bump the development-dependencies group with 31 upda…
dependabot[bot] Oct 7, 2025
80fdd4d
add optimistic change handling with fallback (#1024)
JannikStreek Oct 11, 2025
1907974
remove jasmine (#1025)
JannikStreek Oct 11, 2025
7da54e8
build(deps-dev): bump the development-dependencies group with 14 upda…
dependabot[bot] Oct 16, 2025
d4179e3
Updates pnpm frontend backend (#1028)
JannikStreek Oct 17, 2025
354e5da
build(deps): bump actions/setup-node from 5 to 6 (#1029)
dependabot[bot] Oct 20, 2025
6243f84
build(deps-dev): bump the development-dependencies group with 8 updat…
dependabot[bot] Oct 20, 2025
e7b40c2
build(deps-dev): bump vite in the npm_and_yarn group across 1 directo…
dependabot[bot] Oct 21, 2025
793d00b
Fix update types in dependabot.yml (#1034)
JannikStreek Oct 21, 2025
2352ee1
Enhance dependabot.yml with patch (#1050)
JannikStreek Oct 21, 2025
fcbf0a5
build(deps): bump cache-manager from 6.4.3 to 7.2.4 (#1049)
dependabot[bot] Oct 21, 2025
7cf0461
build(deps): bump @angular/forms from 20.3.1 to 20.3.6 (#1045)
dependabot[bot] Oct 21, 2025
31a6350
build(deps): bump @ai-sdk/openai from 2.0.28 to 2.0.53 (#1046)
dependabot[bot] Oct 21, 2025
bbad3f7
build(deps): bump @nx/nx-darwin-x64 from 20.0.3 to 21.6.5 (#1042)
dependabot[bot] Oct 21, 2025
8d16600
build(deps): bump @angular/router from 20.3.1 to 20.3.6 (#1037)
dependabot[bot] Oct 21, 2025
f8a2478
build(deps): bump @angular/compiler-cli from 20.3.1 to 20.3.6 (#1039)
dependabot[bot] Oct 21, 2025
15bc855
build(deps): bump dotenv from 16.5.0 to 17.2.3 (#1041)
dependabot[bot] Oct 21, 2025
015343b
build(deps-dev): bump the development-dependencies group across 1 dir…
dependabot[bot] Oct 21, 2025
2734419
build(deps): bump the production-dependencies group with 23 updates (…
dependabot[bot] Oct 28, 2025
8de6d9d
build(deps-dev): bump the development-dependencies group across 1 dir…
dependabot[bot] Nov 4, 2025
ddc2a19
975 load default settings from backend (#1023)
sguhl Nov 28, 2025
e1cc78d
Add resource ownership (#1076)
sguhl Nov 28, 2025
65bef45
refactor cookie auth logic (#1086)
JannikStreek Nov 28, 2025
c2ad67d
merged
JannikStreek Nov 28, 2025
e5e88f7
fixes with kits branch
JannikStreek Nov 28, 2025
68960f9
change dev locale for tests
JannikStreek Nov 28, 2025
68a3a78
fix build
JannikStreek Nov 28, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion .env.default
Original file line number Diff line number Diff line change
Expand Up @@ -41,4 +41,6 @@ POSTGRES_STATEMENT_TIMEOUT=100000

DELETE_AFTER_DAYS=30

DEV_BUILD_CONTEXT=
DEV_BUILD_CONTEXT=

JWT_SECRET=
15 changes: 9 additions & 6 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,17 @@
version: 2
updates:
- package-ecosystem: "npm" # See documentation for possible values
directory: "/teammapper-backend" # Location of package manifests
schedule:
interval: "weekly"
- package-ecosystem: "npm" # See documentation for possible values
directory: "/teammapper-frontend" # Location of package manifests
directory: "/"
schedule:
interval: "weekly"
open-pull-requests-limit: 15
groups:
production-dependencies:
dependency-type: "production"
update-types: ["minor", "patch"]
development-dependencies:
dependency-type: "development"
update-types: ["minor", "patch"]
- package-ecosystem: "docker" # See documentation for possible values
directory: "/" # Location of package manifests
schedule:
Expand All @@ -21,4 +25,3 @@ updates:
directory: "/" # Location of package manifests
schedule:
interval: "weekly"

14 changes: 7 additions & 7 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ jobs:
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}

- uses: actions/setup-node@v5
- uses: actions/setup-node@v6
with:
node-version: '22'

Expand All @@ -48,7 +48,7 @@ jobs:
steps:
- uses: actions/checkout@v4

- uses: actions/setup-node@v5
- uses: actions/setup-node@v6
with:
node-version: '22'

Expand All @@ -64,7 +64,7 @@ jobs:
steps:
- uses: actions/checkout@v4

- uses: actions/setup-node@v5
- uses: actions/setup-node@v6
with:
node-version: '22'

Expand All @@ -80,7 +80,7 @@ jobs:
steps:
- uses: actions/checkout@v4

- uses: actions/setup-node@v5
- uses: actions/setup-node@v6
with:
node-version: '22'

Expand All @@ -97,7 +97,7 @@ jobs:
steps:
- uses: actions/checkout@v4

- uses: actions/setup-node@v5
- uses: actions/setup-node@v6
with:
node-version: '22'

Expand Down Expand Up @@ -126,7 +126,7 @@ jobs:
steps:
- uses: actions/checkout@v4

- uses: actions/setup-node@v5
- uses: actions/setup-node@v6
with:
node-version: '22'

Expand Down Expand Up @@ -154,7 +154,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v5
- uses: actions/setup-node@v6
with:
node-version: '22'

Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/playwright.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v5
- uses: actions/setup-node@v6
with:
node-version: lts/*
- run: corepack enable
Expand All @@ -53,5 +53,5 @@ jobs:
if: ${{ !cancelled() }}
with:
name: playwright
path: playwright
path: teammapper-frontend/playwright
retention-days: 7
45 changes: 37 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@

# TeamMapper

![TeamMapper Screenshot](docs/teammapper-logo.png "TeamMapper Logo")

Mindmapping made simple: Host and create your own mindmaps. Share your mindmap sessions with your team and collaborate on mindmaps.
Expand All @@ -11,7 +11,7 @@ TeamMapper is based on mindmapp (https://github.com/cedoor/mindmapp , discontinu
## Features:

- **Creation**: Host and create your own mindmaps
- **Customization**: Add images, pictograms*, colors, font properties and links to nodes
- **Customization**: Add images, pictograms\*, colors, font properties and links to nodes
- **Collaboration**: Share your mindmap with friends and collegues, using either a view-only or modification invite!
- **Interoperability**: Import and export functionality (JSON, Mermaid, SVG, PDF, PNG...)
- **Shareability**: Use a QR Code or URL to share your maps
Expand Down Expand Up @@ -128,6 +128,7 @@ For examples with a reverse proxy, see [documentation about deployment](docs/dep
```

### Production

- Duplicate and rename `.env.default`

```bash
Expand Down Expand Up @@ -162,13 +163,15 @@ For examples with a reverse proxy, see [documentation about deployment](docs/dep
```bash
docker compose --file docker-compose-prod.yml --env-file .env.prod down -v
```

If you want to run prod migrations (again):

```bash
docker compose exec app_prod pnpm --filter teammapper-backend run prod:typeorm:migrate
```

#### Postgres and SSL

If needed, you can make the connection to Postgres more secure by using a SSL connection.

- Generate self-signed ssl sertificate for the postgres server on the host machine; the generated files are mounted into the docker container
Expand Down Expand Up @@ -206,10 +209,32 @@ Example of running sql via typeorm:
docker compose --file docker-compose-prod.yml --env-file .env.prod exec app_prod pnpm --filter teammapper-backend exec typeorm query "select * from mmp_node" --dataSource ./dist/data-source.js
```

### Frontend feature flags
See file /teammapper-frontend/src/envrionments/environment.prod.ts to configure feature flags:
- `featureFlagPictograms`: Disables/Enables the pictogram feature (default: disabled). Note: You have to set this flag before build time!
- `featureFlagAI`: Disables/Enables AI functionality like generating mindmaps with AI
### Default Settings

The following files contain configurations for default settings:

1. `/teammapper-backend/config/settings.dev.json`

- Contains the default values for development mode

2. `/teammapper-backend/config/settings.prod.json`

- Contains the default values for production mode
- Changes here require rebuilding the Docker image

3. `/config/settings.override.json`
- Values defined in `settings.override.json` override the values in `settings.prod.json`
- Values can be adjusted at runtime

The settings are conceptually divided into:

- **System Settings**: Settings provided by the application, which are not cached by the frontend and can only be adjusted in the backend
- **User Settings**: values configured by the user in the frontend, which persist separately and override system defaults where applicable.

The settings configuration includes the following feature flags:

- `featureFlagPictograms`: Disables/Enables the pictogram feature (default: disabled). Note: You have to set this flag before build time!
- `featureFlagAI`: Disables/Enables AI functionality like generating mindmaps with AI

### Further details

Expand Down Expand Up @@ -242,8 +267,12 @@ The TeamMapper[logo](https://thenounproject.com/icon/188125/) in this repo – c

## Acknowledgements

- *Pictograms author: Sergio Palao. Origin: ARASAAC (http://www.arasaac.org). License: CC (BY-NC-SA). Owner: Government of Aragon (Spain)
- \*Pictograms author: Sergio Palao. Origin: ARASAAC (http://www.arasaac.org). License: CC (BY-NC-SA). Owner: Government of Aragon (Spain)
- Mindmapp: https://github.com/cedoor/mindmapp (discontinued)
- mmp: https://github.com/cedoor/mmp (discontinued)
- D3: https://github.com/d3/d3
- DomPurify: https://github.com/cure53/DOMPurify

```

```
6 changes: 6 additions & 0 deletions config/settings.override.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"systemSettings": {
},
"userSettings": {
}
}
3 changes: 3 additions & 0 deletions docker-compose-prod.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,11 +19,14 @@ services:
POSTGRES_QUERY_TIMEOUT: ${POSTGRES_QUERY_TIMEOUT:-100000}
POSTGRES_STATEMENT_TIMEOUT: ${POSTGRES_STATEMENT_TIMEOUT:-100000}
DELETE_AFTER_DAYS: ${DELETE_AFTER_DAYS:-30}
JWT_SECRET: ${JWT_SECRET}
ports:
- "${APP_PROD_PORT:-80}:3000"
restart: always
depends_on:
- postgres_prod
volumes:
- ./config/settings.override.json:/home/node/app/teammapper-backend/config/settings.override.json:ro

postgres_prod:
image: postgres:15-alpine
Expand Down
4 changes: 2 additions & 2 deletions docker-compose.dev.yml
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
services:
app:
build:
context: ${DEV_BUILD_CONTEXT}
context: ${DEV_BUILD_CONTEXT}/teammapper
dockerfile: Dockerfile
target: development
tty: true
stdin_open: true
volumes:
- ${DEV_BUILD_CONTEXT}/.claude:/home/node/app/.claude
- ${DEV_BUILD_CONTEXT}/teammapper/.claude:/home/node/app/.claude
5 changes: 2 additions & 3 deletions docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ services:
AI_LLM_RPM: ${DOCKER_COMPOSE_APP_ENV_AI_LLM_API_RPM}
AI_LLM_TPM: ${DOCKER_COMPOSE_APP_ENV_AI_LLM_API_TPM}
AI_LLM_TPD: ${DOCKER_COMPOSE_APP_ENV_AI_LLM_API_TPD}
JWT_SECRET: ${JWT_SECRET}

TESTING_PLAYWRIGHT_WS_ENDPOINT: "ws://playwright:9323"
TESTING_PLAYWRIGHT_BASE_URL: "http://app:4200"
Expand All @@ -40,8 +41,6 @@ services:
- 9876:9876
volumes:
- .:/home/node/app
- app_backend_node_modules:/home/node/app/teammapper-backend/node_modules
- app_frontend_node_modules:/home/node/app/teammapper-frontend/node_modules
depends_on:
- postgres

Expand All @@ -60,7 +59,7 @@ services:
- postgres_data:/var/lib/postgresql/data/pgdata

playwright:
image: mcr.microsoft.com/playwright:v1.55.0-noble
image: mcr.microsoft.com/playwright:v1.57.0-noble
container_name: playwright
depends_on:
- app
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,6 @@
"tsc": "pnpm --filter '*' run tsc"
},
"devDependencies": {
"concurrently": "9.1.2"
"concurrently": "9.2.1"
}
}
Loading
Loading