Mindmapping made simple: Host and create your own mindmaps. Share your mindmap sessions with your team and collaborate on mindmaps.
TeamMapper is based on mindmapp (https://github.com/cedoor/mindmapp , discontinued). In contrast to mindmapp, TeamMapper features shared mindmapping sessions for your team based on websockets.
- Host and create your own mindmaps
- Set node images, colors and font properties.
- Shortcuts
- Import and export functionality (JSON, SVG, PDF, PNG...)
- Mutli user support: Share your mindmap with friends and collegues. Work at the same time on the same mindmap!
- Use a QR Code or URL to share your maps
- By default, mindmaps are deleted after 30 days to ensure GDPR compliancy.
-
Start up app necessary services
docker-compose up -d --build --force-recreate
-
Start frontend and backend at once
docker-compose exec app npm --prefix teammapper-backend run dev
or start frontend and backend separately
# Open two terminal sessions on your host machine # In first terminal session docker-compose exec app npm --prefix teammapper-backend start # In second terminal session docker-compose exec app npm --prefix teammapper-frontend start
-
Visit the frontend in http://localhost:4200
-
Create a test database
docker-compose exec postgres createdb -e -U teammapper-user -W teammapper-backend-test
-
Execute the tests
docker-compose exec app npm -prefix teammapper-backend run test:e2e
-
Generate self-signed ssl sertificate for the postgres server on the host machine; the generated files are mounted into the docker container
mkdir -p ./ca openssl req -new -text -passout pass:abcd -subj /CN=localhost -out ./ca/server.req -keyout ./ca/privkey.pem openssl rsa -in ./ca/privkey.pem -passin pass:abcd -out ./ca/server.key openssl req -x509 -in ./ca/server.req -text -key ./ca/server.key -out ./ca/server.crt chmod 600 ./ca/server.key test $(uname -s) = Linux && chown 70 ./ca/server.key
-
Duplicate and rename
.env.default
cp .env.default .env.prod
-
Adjust all configs in
.env.prod
, e.g. database settings, ports, disable ssl env vars if necessary -
Start everything at once (including a forced build):
docker-compose --file docker-compose-prod.yml --env-file .env.prod up -d --build --force-recreate
-
Go to
http://localhost
to open up teammapper -
Optional:
If you want to make sure, to include the most recent updates, run first:
docker-compose --file docker-compose-prod.yml --env-file .env.prod build --no-cache
then:
docker-compose --file docker-compose-prod.yml --env-file .env.prod up -d --force-recreate
If you want to remove old data, including cached node packages and stored databases (DANGER!):
docker-compose --file docker-compose-prod.yml --env-file .env.prod down -v
If you want to run prod migrations (again):
docker-compose exec app_prod npm -prefix teammapper-backend run typeorm:prod:migrate
Trigger delete job (also executed daily with cron task scheduler):
docker-compose --file docker-compose-prod.yml --env-file .env.prod exec app_prod npm --prefix teammapper-backend run prod:data:maps:cleanup
Example of running sql via typeorm:
docker-compose --file docker-compose-prod.yml --env-file .env.prod exec app_prod npx --prefix teammapper-backend typeorm query "select * from mmp_node" --config dist/ormconfig.js
- Once this docker volume is initialized after the first
docker-compose up
, the database-related variables in.env.prod
will not have any effect; please have this in mind => you will then need to setup your database manually
- Fork it
- Create your feature branch (
git checkout -b fooBar
) - Commit your changes (
git commit -am 'Add some fooBar'
) - Push to the branch (
git push origin fooBar
) - Create a new Pull Request
kits is a project platform hosted by a public institution for quality development in schools (Lower Saxony, Germany) and focusses on digital tools and media in language teaching. TeamMapper is used in workshops to activate prior knowledge, and collect and structure ideas. In addition, TeamMapper can be found on https://kits.blog/tools and can be used by schools for free.
Logos and text provided with courtesy of kits.
The TeamMapperlogo in this repo – created by Gregor Cresnar – is licenced under CC BY 3.0 Unported.
- 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