A modern web application for managing tasks with user authentication, built using React and Vite.
-
User Authentication
- Secure login and registration system
- JWT token-based authentication
- Protected routes for authenticated users
-
Task Management
- Create, read, update, and delete tasks
- Task properties include:
- Title
- Description
- Status (Pending, Ongoing, Completed, Overdue)
- Priority (High, Medium, Low)
- Due Date
-
User Interface
- Clean and responsive design
- Search functionality for tasks
- Filter tasks by status, priority, and due date
- Modal windows for task creation and editing
- Loading indicators for better user experience
- Toast notifications for action feedback
- Frontend
- React 18
- Redux Toolkit (State Management)
- React Router v6 (Navigation)
- Axios (API Requests)
- React Modal
- React Toastify
- FontAwesome Icons
- CSS Modules (Styling)
- Node.js (version 14 or higher)
- npm or yarn
- Clone the repository
git clone <repository-url>
cd task-manager/client- Install dependencies
npm install- Create a
.envfile in the root directory with the following variables:
VITE_NODE_ENV=development
VITE_BACKEND_URL=<your-backend-url>
VITE_TOKEN_SECRET=<your-secret-key>
- Start the development server
npm run devnpm run buildsrc/
├── assets/ # Static assets
├── components/ # Reusable components
│ ├── loader/ # Loading indicators
│ └── Root.jsx # Root component
├── redux/ # Redux state management
│ ├── store.js
│ └── slices/
├── views/ # Page components
│ ├── home/
│ ├── login/
│ ├── register/
│ └── tasks/
└── App.jsx # Main application component
- User registration with name, email, and password
- Secure login system
- Automatic token verification
- Protected routes for authenticated users
- Comprehensive task CRUD operations
- Real-time task updates
- Detailed task information display
- Task filtering and search capabilities
- Responsive design for all screen sizes
- Interactive modals for task operations
- Loading states for better user feedback
- Error handling with toast notifications
- Clean and intuitive interface
This project is licensed under the MIT License - see the LICENSE file for details.