CogniMap is an Electron-based cognitive mapping tool built with Angular 2 and Webpack. It enables users to visually create, edit, and quiz themselves on interactive concept maps offline.
Demo Video: https://youtu.be/FcAghOkgQpI
- Features
- Installation
- Usage
- Menu & Shortcuts
- Data Management
- Multimedia & Assets
- Quiz Mode
- Customization
- Contributing
- License
- Visual Concept Mapping: Drag-and-drop nodes and connect them with links to build cognitive maps.
- Offline-First Storage: Local NeDB for persisting and loading maps without external dependencies.
- Import/Export: Load external SVG/JSON maps and export your work.
- Multimedia Integration: Open PDFs, text, images, audio, and video directly from the app.
- Spaced-Repetition Quiz: Test recall of map elements with an adaptive scheduling algorithm.
- Fast Development: Hot Module Replacement via Webpack HMR.
- Cross-Platform: Compatible with Windows, macOS, and Linux.
Prerequisites:
- Node.js (LTS)
- npm
git clone https://github.com/<your-org>/cognimap.git
cd cognimap
npm install
npm run build:dev # build assets
node_modules/electron/dist/electron . --no-sandbox # launch Electron app
For live development with auto-reload:
npm run start:hmr
- Create/Edit Map: Add nodes and links on the main canvas.
- Save Map:
File → Save DB
. - Load Map:
File → Load DB
. - Delete Map:
File → Delete DB
. - Import File:
File → Load File
. - Select Image Folder:
File → Select IMG Folder
.
- Save DB
- Load DB
- Delete DB
- Load File
- Select IMG Folder
- Quit:
Cmd/Ctrl + Alt + Q
- Zoom In:
Cmd/Ctrl + +
- Zoom Out:
Cmd/Ctrl + -
- Reset Zoom:
Cmd/Ctrl + 0
- Reload:
Cmd/Ctrl + R
- Toggle Full Screen:
F11
(Win/Linux) orCtrl+Cmd+F
(macOS) - Toggle DevTools:
Ctrl+Shift+I
(Win/Linux) orAlt+Cmd+I
(macOS)
Maps are stored at ./data/cme.db
using NeDB. The app autoloads existing databases on startup.
- Open Files: PDFs, text, links, audio, video, and images via built-in handlers.
- Asset Explorer: Browse and load files from
src/assets
.
Activate quiz mode to review nodes. CogniMap uses a spaced-repetition algorithm to schedule reviews based on performance.
Use the Settings panel to adjust:
- Application mode (edit, view, quiz)
- Button layouts
- Color palettes
- Special characters
- Node templates
We welcome contributions:
- Fork the repo
- Create a feature branch
- Ensure tests pass and build succeeds
- Submit a pull request
This project is released under the MIT License. See LICENSE for details.