{"id":29813397,"url":"https://github.com/shilendra-dev/dodesk","last_synced_at":"2026-05-19T19:02:29.131Z","repository":{"id":288059430,"uuid":"966628359","full_name":"shilendra-dev/DoDesk","owner":"shilendra-dev","description":" DoDesk –A Modern Open Source Task Management System | Focuses on teams management, collaborative workspace, project management, automation, maintaining organizational structure","archived":false,"fork":false,"pushed_at":"2025-07-25T16:48:51.000Z","size":16532,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-25T23:35:13.337Z","etag":null,"topics":["dodesk","notion","product-management","production","productivity","project-management","task-management","task-manager","workspace"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","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/shilendra-dev.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-04-15T08:02:41.000Z","updated_at":"2025-07-25T16:48:55.000Z","dependencies_parsed_at":"2025-05-03T17:26:55.033Z","dependency_job_id":"ed8eba4e-ba1a-47fa-9541-3df78d8e9e0b","html_url":"https://github.com/shilendra-dev/DoDesk","commit_stats":null,"previous_names":["shilendra-dev/dodesk"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/shilendra-dev/DoDesk","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shilendra-dev%2FDoDesk","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shilendra-dev%2FDoDesk/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shilendra-dev%2FDoDesk/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shilendra-dev%2FDoDesk/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/shilendra-dev","download_url":"https://codeload.github.com/shilendra-dev/DoDesk/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shilendra-dev%2FDoDesk/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267569149,"owners_count":24109016,"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","status":"online","status_checked_at":"2025-07-28T02:00:09.689Z","response_time":68,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["dodesk","notion","product-management","production","productivity","project-management","task-management","task-manager","workspace"],"created_at":"2025-07-28T19:00:45.068Z","updated_at":"2026-05-19T19:02:24.089Z","avatar_url":"https://github.com/shilendra-dev.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🖥️ DoDesk – Collaborative Workspace Tool\n\nDoDesk is a full-stack task management and collaboration tool designed to help teams stay productive, organized, and efficient — built with the PERN stack (PostgreSQL, Express, React, Node.js).\n\nInspired by tools like Notion, Trello, and Asana — but fully custom-built from scratch.\n\n---\n\n![Task List Preview](client/public/list_view_screenshot.png)\n![Task Board Preview](client/public/board_view_screenshot.png)\n\n## 🚀 Features\n\n### ✅ Authentication \u0026 Workspace Setup\n- JWT-based login system\n- Only admins can create workspaces\n- Auto-assignment of workspace creator as `admin` in `workspace_members`\n\n### 🧱 Workspace Management\n- Create, switch, and list workspaces\n- Invite members via email (Nodemailer + Gmail SMTP)\n- View all joined members within each workspace\n\n### 🗂️ Task Management\n- Create, edit, and delete tasks\n- Set task priority, due date, and status\n- Assign tasks to workspace members\n- Real-time task editing and state syncing\n\n### 🧩 Kanban Board (Drag \u0026 Drop)\n- Built using `@hello-pangea/dnd`\n- Tasks grouped by status: `Pending`, `In Progress`, `Completed`\n- Drag-and-drop support to update status instantly\n- Modular components: `TaskBoardView.jsx`, `TaskColumn.jsx`\n\n### 🎯 Task Filtering \u0026 Sorting\n- Filter tasks by priority and status\n- Sort tasks by due date and priority\n- Saved filter context (React Context API)\n\n### 📝 Inline Editing\n- Edit task title and description directly in the table\n- Controlled components with `onBlur` + live API updates\n- Visual feedback with toast notifications\n\n### 🧠 Task Drawer\n- Slide-in panel for detailed task view/edit\n- Update title, description, status, priority, due date, and assignees\n- Add/remove task assignees with API integration\n\n### 📦 UI \u0026 UX\n- Responsive layout using Tailwind CSS\n- Sticky pagination\n- Tooltips with blur effects\n- Smooth modal and drawer animations\n- Dark theme UI (`#10141a`, `#1a1f2e`, green buttons)\n\n---\n\n## 🛠️ Tech Stack\n\n- **Frontend**: React, Tailwind CSS, Axios, @hello-pangea/dnd, React Context API\n- **Backend**: Node.js, Express.js, PostgreSQL, Knex.js\n- **Email**: Nodemailer + Gmail SMTP\n- **Other Tools**: React Hot Toast, Lucide Icons\n\n---\n\n## 🔧 Setup Instructions\n\n\n### 1. Configure Environment Variables\n```env\nPORT=YOUR_PORT\nDB_USER=your_Db\nDB_HOST=hostname\nDB_NAME=dbname\nDB_PASSWORD=dbpassword\nDB_PORT=dbport\nJWT_SECRET=jwtsecrettoken\nRESEND_API_KEY=yourresendapikey\n```\n---\n\n### 2. migration\n```\nnpx knex migrate:latest\n```\n---\n\n### 3. Clone the Repository\n\n```bash\ngit clone https://github.com/your-username/dodesk.git\ncd dodesk\n\n---\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshilendra-dev%2Fdodesk","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshilendra-dev%2Fdodesk","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshilendra-dev%2Fdodesk/lists"}