{"id":29130509,"url":"https://github.com/saideep-priyadarshan/thinknet","last_synced_at":"2026-04-12T06:32:42.675Z","repository":{"id":301856869,"uuid":"1010279673","full_name":"saideep-priyadarshan/thinknet","owner":"saideep-priyadarshan","description":"A real-time collaborative mind mapping application that allows users to create, share, and collaborate on mind maps in real-time.","archived":false,"fork":false,"pushed_at":"2025-06-29T08:13:18.000Z","size":79,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-06-29T08:32:11.612Z","etag":null,"topics":["bcryptjs","d3js","express","mongodb","mongodb-atlas","mongoose","nodejs","reactjs","socket-io","tailwindcss"],"latest_commit_sha":null,"homepage":"https://thinknet-mindmap.netlify.app","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/saideep-priyadarshan.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-06-28T18:24:26.000Z","updated_at":"2025-06-29T08:13:21.000Z","dependencies_parsed_at":"2025-06-29T08:32:17.024Z","dependency_job_id":"0d568634-b98a-42e2-8e69-a5fa51e7ddcd","html_url":"https://github.com/saideep-priyadarshan/thinknet","commit_stats":null,"previous_names":["saideep-priyadarshan/thinknet"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/saideep-priyadarshan/thinknet","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saideep-priyadarshan%2Fthinknet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saideep-priyadarshan%2Fthinknet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saideep-priyadarshan%2Fthinknet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saideep-priyadarshan%2Fthinknet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/saideep-priyadarshan","download_url":"https://codeload.github.com/saideep-priyadarshan/thinknet/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saideep-priyadarshan%2Fthinknet/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262708005,"owners_count":23351532,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bcryptjs","d3js","express","mongodb","mongodb-atlas","mongoose","nodejs","reactjs","socket-io","tailwindcss"],"created_at":"2025-06-30T04:05:58.162Z","updated_at":"2026-04-12T06:32:37.654Z","avatar_url":"https://github.com/saideep-priyadarshan.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ThinkNet - Collaborative Mind Mapping Application\n\nThinkNet is a real-time collaborative mind mapping application built with React, Vite, Node.js, Express, Socket.io, and MongoDB. It allows users to create, share, and collaborate on mind maps in real-time.\n\n## Features\n\n- 🧠 Interactive mind mapping with D3.js visualization\n- 👥 Real-time collaboration with Socket.io\n- 💬 Node-based commenting system\n- 🔐 User authentication and authorization\n- 🔒 Public/private mind map settings\n- 👨‍💼 Collaborator management\n- 💾 Auto-save functionality\n- 📤 Export to PNG\n- 🎨 Beautiful, modern UI with Tailwind CSS\n\n## Tech Stack\n\n### Frontend\n\n- React 19\n- Vite\n- D3.js for visualization\n- Socket.io client for real-time features\n- Lucide React for icons\n- Tailwind CSS for styling\n\n### Backend\n\n- Node.js\n- Express.js\n- Socket.io for real-time communication\n- MongoDB with Mongoose\n- JWT for authentication\n- bcryptjs for password hashing\n\n## Prerequisites\n\nBefore running this application, make sure you have:\n\n- Node.js (v18 or higher)\n- MongoDB (local installation or MongoDB Atlas)\n- Git\n\n## Installation\n\n1. Clone the repository:\n\n   ```bash\n   git clone https://github.com/saideep-priyadarshan/thinknet.git\n   cd thinknet\n   ```\n\n2. Install dependencies:\n\n   ```bash\n   npm install\n   ```\n\n3. Set up environment variables:\n\n   - Copy `.env.example` to `.env`, or create a `.env` file\n   - Update the environment variables in `.env`:\n     ```env\n     PORT=5000\n     NODE_ENV=development\n     MONGODB_URI=mongodb://localhost:27017/thinknet\n     JWT_SECRET=your_jwt_key_here\n     CLIENT_URL=http://localhost:5173\n     VITE_API_BASE_URL=http://localhost:5000/api\n     VITE_SOCKET_URL=http://localhost:5000\n     ```\n\n4. Make sure MongoDB is running:\n   - If using local MongoDB: `mongod`\n   - If using MongoDB Atlas: Update the `MONGODB_URI` in `.env`\n\n## Running the Application\n\n### Development Mode\n\nTo run both frontend and backend simultaneously:\n\n```bash\nnpm run dev:full\n```\n\nThis will start:\n\n- Backend server on `http://localhost:5000`\n- Frontend development server on `http://localhost:5173`\n\n### Run Frontend Only\n\n```bash\nnpm run dev\n```\n\n### Run Backend Only\n\n```bash\nnpm run dev:backend\n```\n\n## Usage\n\n1. **Registration/Login**: Create an account or log in with existing credentials\n2. **Dashboard**: View all your mind maps and those shared with you\n3. **Create Mind Map**: Click \"New Mind Map\" to create a new mind map\n4. **Collaborate**:\n   - Click on a node to select it\n   - Double-click to edit node text\n   - Use the toolbar to add child nodes, delete nodes, or add comments\n   - Invite collaborators using the \"Invite\" button\n5. **Real-time Collaboration**: See other users' cursors and changes in real-time\n6. **Save \u0026 Export**: Auto-save is enabled, or manually save and export as PNG\n\n## API Endpoints\n\n### Authentication\n\n- `POST /api/auth/register` - Register a new user\n- `POST /api/auth/login` - Login user\n\n### Mind Maps\n\n- `GET /api/mindmaps` - Get all accessible mind maps\n- `GET /api/mindmaps/:id` - Get specific mind map\n- `POST /api/mindmaps` - Create new mind map\n- `PUT /api/mindmaps/:id` - Update mind map\n- `DELETE /api/mindmaps/:id` - Delete mind map\n\n### Comments\n\n- `POST /api/mindmaps/:id/comments/:nodeId` - Add comment to node\n\n### Collaborators\n\n- `POST /api/mindmaps/:id/collaborators` - Add collaborator\n\n## Socket.io Events\n\n### Client to Server\n\n- `join_mindmap` - Join a mind map room\n- `node_update` - Update node data\n- `cursor_move` - Update cursor position\n\n### Server to Client\n\n- `mindmap_updated` - Mind map data updated\n- `node_updated` - Specific node updated\n- `comment_added` - New comment added\n- `user_joined` - User joined the mind map\n- `user_left` - User left the mind map\n- `cursor_moved` - User moved cursor\n\n## Project Structure\n\n```\nsrc/\n├── components/\n│   ├── Login.jsx              # Authentication component\n│   └── MindMapDashboard.jsx   # Dashboard for mind map management\n├── contexts/\n│   └── AuthContext.jsx       # Authentication context\n├── services/\n│   ├── api.js                # API service layer\n│   └── socket.js             # Socket.io service\n├── App.jsx                   # Main app component\n├── thinknet-mindmap.jsx      # Mind map visualization component\n├── thinknet-backend.js       # Backend server\n└── main.jsx                  # App entry point\n```\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsaideep-priyadarshan%2Fthinknet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsaideep-priyadarshan%2Fthinknet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsaideep-priyadarshan%2Fthinknet/lists"}