A modern, cloud-based task management application built with React, Vite, and Tailwind CSS. This application provides a comprehensive solution for managing tasks, projects, and team collaboration.
- Frontend Framework: React 18
- Build Tool: Vite
- Styling: Tailwind CSS
- State Management: Redux Toolkit
- UI Components: Headless UI
- Icons: React Icons
- Charts: Recharts
- Forms: React Hook Form
- Routing: React Router DOM
- Date Handling: Moment.js
- Notifications: Sonner
Before you begin, ensure you have the following installed:
- Node.js (version 16.0 or higher)
- npm (comes with Node.js) or yarn
- Git
git clone https://github.com/iqbal-web/taskmanagerpro.git
cd taskmanagerprocd clientnpm installor using yarn:
yarn installnpm run devor using yarn:
yarn devThe application will start on http://localhost:3000
In the client directory, you can run:
Starts the development server using Vite. The app will reload automatically when you make changes.
Builds the app for production to the dist folder. The build is optimized and ready for deployment.
Locally preview the production build. Run this after npm run build.
Runs ESLint to check for code quality and formatting issues.
taskmanagerpro/
├── client/ # Frontend React application
│ ├── public/ # Public assets
│ ├── src/ # Source code
│ │ ├── components/ # Reusable React components
│ │ │ ├── Button.jsx
│ │ │ ├── MobileSidebar.jsx
│ │ │ ├── Navbar.jsx
│ │ │ ├── Sidebar.jsx
│ │ │ └── Textbox.jsx
│ │ ├── pages/ # Page components
│ │ │ ├── Dashboard.jsx
│ │ │ ├── Login.jsx
│ │ │ ├── TaskDetails.jsx
│ │ │ ├── Tasks.jsx
│ │ │ ├── Trash.jsx
│ │ │ └── Users.jsx
│ │ ├── redux/ # State management
│ │ │ ├── store.js
│ │ │ └── slices/
│ │ │ ├── apiSlice.js
│ │ │ └── authSlice.js
│ │ ├── assets/ # Static assets
│ │ ├── App.jsx # Main App component
│ │ ├── main.jsx # App entry point
│ │ └── index.css # Global styles
│ ├── package.json # Dependencies and scripts
│ ├── vite.config.js # Vite configuration
│ ├── tailwind.config.js # Tailwind CSS configuration
│ └── vercel.json # Vercel deployment configuration
└── README.md # Project documentation
-
Using Vercel CLI:
cd client npm install -g vercel vercel --prod -
Using Vercel Dashboard:
- Go to vercel.com
- Click "New Project"
- Import your GitHub repository
- Set Root Directory to
client - Configure build settings:
- Build Command:
npm run build - Output Directory:
dist - Install Command:
npm install
- Build Command:
cd client
npm run build
npx netlify deploy --prod --dir=distIf your application uses environment variables, create a .env file in the client directory:
VITE_API_URL=your_api_url_here
VITE_APP_NAME=TaskManager ProNote: Environment variables in Vite must be prefixed with VITE_
-
Port 3000 already in use:
# Kill process on port 3000 npx kill-port 3000 -
Node modules issues:
# Delete node_modules and reinstall rm -rf node_modules package-lock.json npm install -
Build errors:
# Clear Vite cache npx vite --force
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Follow the existing code style and conventions
- Write meaningful commit messages
- Test your changes thoroughly
- Update documentation when necessary
- Run
npm run lintbefore committing
If you encounter any issues or have questions, please:
- Check the Issues page
- Create a new issue if your problem isn't already reported
- Provide detailed information about your environment and the issue
This project is licensed under the MIT License - see the LICENSE file for details.
Happy Coding! 🎉