Welcome to Task Management Application, The Task Management Application is a robust, real-time system that allows users to manage tasks efficiently. The application supports task creation, editing, deletion, and reordering through a drag-and-drop interface. Tasks are categorized into three sections: To-Do, In Progress, and Done. The system ensures real-time updates and data persistence by instantly saving changes to the database.
- Client Repo: This repository serves as the main
Task Management Application
platform and includes thefrontend
setup. - Live Site: Task Management Application.com
- Components
- Hooks:
useState
,useEffect
,useContext
- Conditional Rendering
- Context API for global state management
- React Hook Form for form handling and validation
- React
- Firebase
- Tailwind CSS
- DaisyUI
- React Router
- React Icons
- React Hot Toast
- JWT-based Authentication
- Node.js
- Express.js
- MongoDB
- Task Management: Users can add new tasks with a title, category, and description, edit existing tasks, and delete tasks as needed with a confirmation toast. View all tasks in a responsive grid layout.
- Drag-and-Drop Functionality: Users can effortlessly reorder tasks and move them between categories.
- Real-Time Updates: Instant synchronization of task changes across all connected users.
- Persistent Storage: Task data is stored in a MongoDB database to ensure seamless access and retrieval.
- Clean UI/UX: The application features a minimalistic and responsive design, ensuring smooth usability on both desktop and mobile devices.
- "@dnd-kit/accessibility": "^3.1.1",
- "@dnd-kit/core": "^6.3.1",
- "@dnd-kit/sortable": "^10.0.0",
- "@tanstack/react-query": "^5.66.8",
- "axios": "^1.7.9",
- "firebase": "^11.3.1",
- "localforage": "^1.10.0",
- "lottie-react": "^2.4.1",
- "match-sorter": "^8.0.0",
- "react": "^19.0.0",
- "react-dom": "^19.0.0",
- "react-helmet-async": "^2.0.5",
- "react-icons": "^5.5.0",
- "react-router-dom": "^7.2.0",
- "react-toastify": "^11.0.3",
- "react-tooltip": "^5.28.0",
- "socket.io-client": "^4.8.1",
- "sort-by": "^1.2.0",
- "sweetalert2": "^11.17.2"
- Node.js and npm installed
- MongoDB connection string
-
Clone the client-side repository:
git clone https://github.com/shorifulbd1st/Todo-List-App.git cd Todo-List-App
-
Install dependencies:
npm install
-
Start the development server:
npm run dev
-
Open the project in a code editor:
code .
-
Add the
.env
file in the root directory and include the following environment variables:VITE_apiKey=................................ VITE_authDomain=................................ VITE_projectId=................................ VITE_storageBucket=................................ VITE_messagingSenderId=................................ VITE_appId=................................ VITE_IMAGE_HOSTING_KEY=................................ VITE_Payment_Gateway_PK=................................
Note: Replace the
VITE_API_KEY
andVITE_AUTH_DOMAIN
, along with other placeholders, with actual values.
-
Clone the server-side repository:
git clone https://github.com/shorifulbd1st/Todo-List-Server.git cd Todo-List-Server
-
Install dependencies:
npm install
-
Start the server:
node index.js
--- OR ---
nodemon index.js
-
Open the project in a code editor:
code .
-
Add the
.env
file in the root directory and include the following environment variables:DB_USER=.......................................... DB_PASS=..........................................
Note: Replace the
index.js
file'smongo_uri
and the.env
file'sDB_USER
andDB_PASS
, with actual values.