Mechanicus-themed mind-mapping application inspired by MindMup.
The project is split into:
frontend: React + Webpack + SCSS + Redux Toolkit + Redux Saga + ESLint + Jestbackend: Node + Express + ESLint + Jest
Noosphere UI is a stylized terminal experience for building idea graphs:
- multi-map workspace
- node-and-edge based mind maps
- keyboard-accelerated editing
- thematic 40k/Mechanicus interface
- Create, rename, delete, and save multiple maps
- Add nodes and connect nodes (parent/child/sibling/manual links)
- Drag nodes to reposition
- Right-click node context menu actions
- Delete nodes and links (with confirmation for connected deletes)
- Node color variants
- Node sub-elements (properties): add, edit, remove, reorder, collapse
- Undo/redo (
Ctrl+Z,Ctrl+R) for graph edits - Pan/zoom canvas (drag empty space + mouse wheel)
- Multi-select:
Shift + clickto add/remove node from selectionShift + dragon empty canvas for box selection- drag any selected node to move the whole group
- clear selection via
Escor empty-space click
- Terminal/chassis inspired shell and paneling
- Scanline-style visual treatment
- PWA-ready structure (manifest + service worker)
Use this as a baseline scenario (matching your screenshot layout):
- Create/open
Primary Map. - Keep
Root Conceptas the center anchor. - Add a
parent nodeand connect fromRoot Conceptto it. - Add a
child nodeand connect fromRoot Conceptto it. - Add sub-elements (node properties) inside each node for notes.
- Use map list on the left to switch maps and save changes.
Example structure:
Root Concept -> parent node
Root Concept -> child node
noosphere.ui/
frontend/
src/
components/
routes/
services/
store/
public/
backend/
src/
cd frontend
npm install
npm run startFrontend dev server: http://localhost:8080 (webpack-dev-server default)
cd backend
npm install
npm run devBackend default: http://localhost:4000 (check backend/src/server.js if customized)
npm run start- development servernpm run build- production buildnpm run lint- lint sourcenpm run test- run tests
npm run dev- run with nodemonnpm run start- run with nodenpm run lint- lint backendnpm run test- run tests
- Persist maps to cloud database (instead of local-only persistence)
- Authentication and user-scoped maps
- Collaboration/share model
- Richer edge semantics and layout tools