A modern, intuitive task management application built with React, TypeScript, and Material-UI. Organize your projects with customizable sections and drag-and-drop task management.
⚠️ Work in Progress: This project is currently under development. See the Current Status section below for what's implemented and what's planned.
- Project Management: Create, edit, and delete projects with descriptions
- Section Organization: Each project contains multiple customizable sections (e.g., "To Do", "In Progress", "Completed")
- Drag & Drop Sections: Reorder project sections with smooth drag-and-drop functionality
- Modern UI: Clean, responsive interface built with Material-UI and Tailwind CSS
- Real-time Updates: Instant UI updates with Redux Toolkit state management
- Toast Notifications: User-friendly feedback for all actions
- Project Navigation: Navigate between projects and project details
- Task Management: Create, edit, and delete tasks within project sections
- Task Drag & Drop: Move tasks between sections with drag-and-drop functionality
- Task Details: Add descriptions, due dates, and priorities to tasks
- Search & Filter: Find projects and tasks quickly with built-in search functionality
- Task Status Tracking: Visual indicators for task completion status
- Frontend: React 18.3.1, TypeScript
- UI Framework: Material-UI (MUI) v7, Tailwind CSS
- State Management: Redux Toolkit, React Redux
- Routing: React Router v7
- Drag & Drop: @dnd-kit
- Build Tool: Vite
- Backend: JSON Server (for development)
- Notifications: React Toastify
Before you begin, ensure you have the following installed:
- Node.js (version 16 or higher)
- npm or yarn package manager
git clone <repository-url>
cd task-management-reactnpm install# Terminal 1 - Start JSON Server (Backend)
npm run server
# Terminal 2 - Start React Development Server
npm run dev# Start JSON Server only (runs on port 3001)
npm run server
# Start React app only (runs on port 5173)
npm run dev- Frontend: Open http://localhost:5173 in your browser
- Backend API: Available at http://localhost:3001
- Project CRUD Operations: Full create, read, update, delete functionality for projects
- Project Section Management: Add, edit, delete, and reorder project sections
- Drag & Drop for Sections: Sections can be reordered using drag-and-drop
- Responsive UI: Clean, modern interface with Material-UI components
- State Management: Redux Toolkit integration with RTK Query for API calls
- Navigation: React Router setup with proper routing between pages
- Backend Integration: JSON Server setup for development API
- Task Management Interface: The Tasks page currently only shows project header
- Task CRUD Operations: Task creation, editing, and deletion functionality
- Task Drag & Drop: Moving tasks between sections
- Task Data Model: Task interfaces and API endpoints
- Implement task data models and interfaces
- Create task management components
- Add task CRUD operations to the API
- Implement task drag-and-drop between sections
- Add task details and status management
- Implement search and filtering functionality
- Navigate to the Projects page
- Click "Add Project" button
- Fill in the project name and description
- Click "Create Project"
- Open a project for editing (click the edit icon)
- Add new sections using the "Add Section" button
- Rename sections by editing the text field
- Delete sections (except the last one) using the delete icon
- Drag sections to reorder them using the drag handle
Note: Task management functionality is currently being developed. The Tasks page exists but task operations are not yet implemented.
- Navigate to a project's task view
- Create tasks within different sections
- Drag tasks between sections to update their status
- Edit task details inline
- Delete tasks when completed
Port Already in Use
# Kill process on port 3001 (JSON Server)
npx kill-port 3001
# Kill process on port 5173 (Vite)
npx kill-port 5173Dependencies Issues
# Clear npm cache and reinstall
npm cache clean --force
rm -rf node_modules package-lock.json
npm installBuild Errors
# Check TypeScript errors
npm run lint
# Clear build cache
rm -rf dist
npm run buildHappy Task Managing! 🎯