Skip to content

Hexadecinull/MindMyMap

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

7 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🧠 MindMyMap

CI Deploy License: AGPL-3.0

Free. Open source. Ad-free. No account needed. Forever.

MindMyMap is a lightweight, self-hostable mind mapping tool with a GitMind-inspired interface, built on top of Digimindmap by La Digitale. It exists because GitMind is undergoing significant negative changes. MindMyMap fills that gap - permanently.


✨ Feature comparison

Feature MindMyMap GitMind Free
Completely free βœ… ⚠️ Limited
No ads βœ… ❌
No account needed βœ… ❌
Open source (AGPL-3.0) βœ… ❌
Self-hostable βœ… ❌
Export PNG / text / .dgm βœ… βœ…
Shareable link + QR code βœ… βœ…
Embed (iframe) βœ… βœ…
Rich node notes βœ… βœ…
Emoji nodes βœ… βœ…
Keyboard shortcuts βœ… βœ…
Desktop app (Electron) βœ… βœ…
Mobile (PWA) βœ… βœ…
Browser extension βœ… ❌
EN / FR / IT interface βœ… partial

πŸ—‚ Monorepo structure

mindmymap/
β”œβ”€β”€ web/               Vue 3 + Vite frontend + PHP/SQLite backend
β”œβ”€β”€ desktop/           Electron desktop wrapper
β”œβ”€β”€ extension/         Chrome MV3 browser extension
β”œβ”€β”€ .github/
β”‚   └── workflows/
β”‚       β”œβ”€β”€ ci.yml       Lint + build on every push / PR
β”‚       β”œβ”€β”€ deploy.yml   Auto-deploy to InfinityFree on push to main
β”‚       └── release.yml  Build all packages on version tag
β”œβ”€β”€ .gitignore
β”œβ”€β”€ .gitattributes
└── README.md

πŸš€ Self-hosting on InfinityFree

InfinityFree gives you a free subdomain (mindmymap.ct.ws) with PHP 8 and Apache - perfect for MindMyMap.

One-time setup

  1. Create a free account at infinityfree.com

  2. Create a hosting account β†’ note your FTP credentials and subdomain

  3. Fork this repository on GitHub

  4. Add repository secrets (Settings β†’ Secrets and variables β†’ Actions):

    Secret Value
    FTP_HOST FTP hostname from InfinityFree panel (e.g. ftpupload.net)
    FTP_USER Your FTP username
    FTP_PASS Your FTP password
  5. Push to main - the Deploy workflow builds and FTP-uploads automatically.

  6. On the server, copy .env.example β†’ .env via the InfinityFree file manager (or upload it via FTP). The SQLite database creates itself on the first request.

Manual deploy (without CI)

cd web
npm ci
echo "AUTHORIZED_DOMAINS=" > .env
npm run build:dist
# Upload the contents of web/dist/ to your htdocs/ via FTP

πŸ’» Local development

# Web app
cd web
npm ci
cp .env.example .env
npm run dev        # Vite dev server on :8080, proxies /inc/* to :8000

# In a separate terminal - PHP backend
cd web
php -S 127.0.0.1:8000

πŸ–₯ Desktop app

The Electron wrapper connects to any MindMyMap server (local or remote).

cd desktop
npm ci
npm start                # run in development

npm run build:linux      # AppImage + deb + rpm
npm run build:win        # Windows NSIS installer
npm run build:mac        # macOS DMG
npm run build:all        # all platforms

On first launch set your server URL: File β†’ Server β†’ Change Server URL…


πŸ“± Mobile (PWA)

MindMyMap ships a manifest.json - no app store needed:

  1. Open your MindMyMap URL in Chrome (Android) or Safari (iOS)
  2. Tap Add to Home Screen
  3. Done - it launches full-screen like a native app

🧩 Browser extension (Chrome / Edge / Brave)

extension/
β”œβ”€β”€ manifest.json   Chrome MV3
β”œβ”€β”€ popup.html/js   Quick-open + recent maps
β”œβ”€β”€ background.js   Auto-tracks visited maps
└── options.html    Settings page

Install (dev / self-hosted):

  1. Open chrome://extensions
  2. Enable Developer mode
  3. Load unpacked β†’ select the extension/ folder
  4. Click the extension icon β†’ enter your server URL

⌨️ Keyboard shortcuts

Action Keys
Pan map Z Q S D
Select node Arrow keys
Select root Home
Select parent Backspace
Insert child Insert
Insert sibling *
Move node Ctrl + ↑ / ↓
Flip side Ctrl + ← / β†’
Delete node Delete
Edit text Space / F2
Bold / Italic / Underline Ctrl+B / Ctrl+I / Ctrl+U
Undo / Redo Ctrl+Z / Ctrl+Y
Notes panel Ctrl+M
Zoom + / βˆ’
Collapse / expand F

πŸ” Privacy

  • No tracking - zero analytics, zero telemetry
  • No ads - ever
  • No account - maps protected by a secret Q&A
  • Self-hosted - your data lives on your server only

🀝 Contributing

# 1. Fork β†’ clone
git clone https://github.com/YOUR_USERNAME/mindmymap.git
cd mindmymap

# 2. Feature branch
git checkout -b feat/my-feature

# 3. Work, commit with conventional commits
git commit -m "feat(web): add template gallery"

# 4. Push + open a PR against main
git push origin feat/my-feature

Translations live in web/src/lang/. Adding a new language:

  1. Copy en.json β†’ xx.json (ISO 639-1 code)
  2. Register it in web/src/lang/index.js
  3. Add the button in Home.vue and Editor.vue

πŸ“œ CI / CD overview

Workflow Trigger What it does
ci.yml Every push / PR ESLint, build check, manifest validate, npm audit
deploy.yml Push to main Build dist β†’ FTP upload to InfinityFree β†’ smoke test
release.yml Push v*.*.* tag Build Electron (Win/Mac/Linux) + extension zip β†’ GitHub Release

βš–οΈ License

GNU Affero General Public License v3.0 (AGPL-3.0)

See LICENSE for full text.


πŸ™ Credits

  • Digimindmap by La Digitale - the original AGPL-3.0 codebase this project is forked from. Thank you, Emmanuel ZIMMERT and the La Digitale team.
  • GitMind - the UI/UX that inspired MindMyMap's redesign.
  • All upstream packages listed in web/package.json and desktop/package.json.

MindMyMap - because mind mapping should always be free.

About

An open source GitMind alternative based off the work of La Digitale

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors