<<<<<<< HEAD
A modern, feature-rich task management system built with React, Redux, Node.js, MongoDB, and Socket.io. Features real-time collaboration, stunning UI with animations, user roles, and comprehensive analytics.
- Real-time Collaboration - Live updates with Socket.io
- User Role Management - Admin, Manager, and Member roles
- Project Management - Create and manage projects with teams
- Task Management - Full CRUD operations with drag-and-drop
- Analytics Dashboard - Comprehensive insights and reporting
- Time Tracking - Built-in time tracking for tasks
- File Attachments - Upload and manage task attachments
- Comments System - Real-time commenting on tasks
- Stunning Modern Design - Glass morphism and neon effects
- Dark/Light Theme - Automatic theme switching
- Responsive Design - Works on all devices
- Smooth Animations - Framer Motion powered animations
- Interactive Elements - Hover effects and micro-interactions
- Loading States - Beautiful loading spinners and skeletons
- Real-time Updates - Socket.io integration
- State Management - Redux Toolkit
- Authentication - JWT-based auth system
- File Upload - Multer integration
- Email Notifications - Nodemailer integration
- Data Validation - Express-validator
- Error Handling - Comprehensive error management
- React 18 - Modern React with hooks
- Redux Toolkit - State management
- React Router - Client-side routing
- Framer Motion - Animations and transitions
- Tailwind CSS - Utility-first CSS framework
- Socket.io Client - Real-time communication
- React Hook Form - Form handling
- Chart.js - Data visualization
- React Hot Toast - Notifications
- Node.js - Runtime environment
- Express.js - Web framework
- MongoDB - Database
- Mongoose - ODM for MongoDB
- Socket.io - Real-time communication
- JWT - Authentication
- Bcrypt - Password hashing
- Multer - File upload handling
- Nodemailer - Email service
- Node.js (v18 or higher)
- MongoDB (local or Atlas)
- npm or yarn
-
Clone the repository
git clone https://github.com/your-username/taskflow.git cd taskflow -
Run the installation script
# On Windows install.bat # On macOS/Linux chmod +x install.sh ./install.sh
-
Configure environment variables
Update
backend/.envwith your settings:NODE_ENV=development PORT=5000 MONGODB_URI=mongodb://localhost:27017/taskflow JWT_SECRET=your_super_secret_jwt_key_here JWT_EXPIRE=30d EMAIL_HOST=smtp.gmail.com EMAIL_PORT=587 EMAIL_USER=your_email@gmail.com EMAIL_PASS=your_app_password
-
Start the application
# On Windows start.bat # On macOS/Linux npm run dev
-
Access the application
- Frontend: http://localhost:3000
- Backend API: http://localhost:5000
Use these credentials to test the application:
- Admin: admin@taskflow.com / password123
- Manager: manager@taskflow.com / password123
- Member: member@taskflow.com / password123
taskflow/
βββ backend/ # Backend application
β βββ models/ # Database models
β βββ routes/ # API routes
β βββ middleware/ # Custom middleware
β βββ utils/ # Utility functions
β βββ server.js # Entry point
βββ frontend/ # Frontend application
β βββ src/
β β βββ components/ # React components
β β βββ pages/ # Page components
β β βββ store/ # Redux store
β β βββ services/ # API services
β β βββ hooks/ # Custom hooks
β β βββ utils/ # Utility functions
β βββ public/ # Static files
βββ install.bat # Windows installation script
βββ start.bat # Windows start script
βββ README.md # This file
npm run dev- Start both frontend and backendnpm run server- Start backend onlynpm run client- Start frontend onlynpm run install-all- Install all dependencies
npm start- Start production servernpm run dev- Start development server with nodemon
npm start- Start development servernpm run build- Build for productionnpm test- Run tests
NODE_ENV=development
PORT=5000
MONGODB_URI=mongodb://localhost:27017/taskflow
JWT_SECRET=your_jwt_secret_key
JWT_EXPIRE=30d
EMAIL_HOST=smtp.gmail.com
EMAIL_PORT=587
EMAIL_USER=your_email@gmail.com
EMAIL_PASS=your_app_passwordREACT_APP_API_URL=http://localhost:5000/api
REACT_APP_SOCKET_URL=http://localhost:5000The application supports custom themes. Edit frontend/tailwind.config.js to customize colors:
theme: {
extend: {
colors: {
primary: {
// Your primary colors
},
neon: {
blue: '#00f5ff',
purple: '#bf00ff',
pink: '#ff0080',
// Add more neon colors
}
}
}
}Animations are powered by Framer Motion. Customize in frontend/src/index.css:
@keyframes yourAnimation {
0% { /* start state */ }
100% { /* end state */ }
}POST /api/auth/register- Register new userPOST /api/auth/login- Login userGET /api/auth/me- Get current userPUT /api/auth/profile- Update profile
GET /api/projects- Get all projectsPOST /api/projects- Create projectGET /api/projects/:id- Get project by IDPUT /api/projects/:id- Update projectDELETE /api/projects/:id- Delete project
GET /api/tasks- Get all tasksPOST /api/tasks- Create taskGET /api/tasks/:id- Get task by IDPUT /api/tasks/:id- Update taskDELETE /api/tasks/:id- Delete task
- JWT-based authentication
- Password hashing with bcrypt
- Input validation and sanitization
- CORS protection
- Rate limiting
- XSS protection
- SQL injection prevention
- Build the frontend:
cd frontend && npm run build - Deploy the
buildfolder to your hosting service - Set environment variables in your hosting dashboard
- Create a new app on your hosting service
- Connect your GitHub repository
- Set environment variables
- Deploy from the
backenddirectory
- Create a MongoDB Atlas account
- Create a new cluster
- Get the connection string
- Update
MONGODB_URIin your environment variables
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Commit your changes:
git commit -m 'Add amazing feature' - Push to the branch:
git push origin feature/amazing-feature - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- React - UI library
- Tailwind CSS - CSS framework
- Framer Motion - Animation library
- Socket.io - Real-time communication
- MongoDB - Database
- Express.js - Backend framework
If you have any questions or need help, please:
- Check the Issues page
- Create a new issue if your problem isn't already reported
- Contact us at support@taskflow.com
=======
A modern, feature-rich task management system built with React, Redux, Node.js, MongoDB, and Socket.io. Features real-time collaboration, stunning UI with animations, user roles, and comprehensive analytics.
- Real-time Collaboration - Live updates with Socket.io
- User Role Management - Admin, Manager, and Member roles
- Project Management - Create and manage projects with teams
- Task Management - Full CRUD operations with drag-and-drop
- Analytics Dashboard - Comprehensive insights and reporting
- Time Tracking - Built-in time tracking for tasks
- File Attachments - Upload and manage task attachments
- Comments System - Real-time commenting on tasks
- Stunning Modern Design - Glass morphism and neon effects
- Dark/Light Theme - Automatic theme switching
- Responsive Design - Works on all devices
- Smooth Animations - Framer Motion powered animations
- Interactive Elements - Hover effects and micro-interactions
- Loading States - Beautiful loading spinners and skeletons
- Real-time Updates - Socket.io integration
- State Management - Redux Toolkit
- Authentication - JWT-based auth system
- File Upload - Multer integration
- Email Notifications - Nodemailer integration
- Data Validation - Express-validator
- Error Handling - Comprehensive error management
- React 18 - Modern React with hooks
- Redux Toolkit - State management
- React Router - Client-side routing
- Framer Motion - Animations and transitions
- Tailwind CSS - Utility-first CSS framework
- Socket.io Client - Real-time communication
- React Hook Form - Form handling
- Chart.js - Data visualization
- React Hot Toast - Notifications
- Node.js - Runtime environment
- Express.js - Web framework
- MongoDB - Database
- Mongoose - ODM for MongoDB
- Socket.io - Real-time communication
- JWT - Authentication
- Bcrypt - Password hashing
- Multer - File upload handling
- Nodemailer - Email service
- Node.js (v18 or higher)
- MongoDB (local or Atlas)
- npm or yarn
-
Clone the repository
git clone https://github.com/your-username/taskflow.git cd taskflow -
Run the installation script
# On Windows install.bat # On macOS/Linux chmod +x install.sh ./install.sh
-
Configure environment variables
Update
backend/.envwith your settings:NODE_ENV=development PORT=5000 MONGODB_URI=mongodb://localhost:27017/taskflow JWT_SECRET=your_super_secret_jwt_key_here JWT_EXPIRE=30d EMAIL_HOST=smtp.gmail.com EMAIL_PORT=587 EMAIL_USER=your_email@gmail.com EMAIL_PASS=your_app_password
-
Start the application
# On Windows start.bat # On macOS/Linux npm run dev
-
Access the application
- Frontend: http://localhost:3000
- Backend API: http://localhost:5000
Use these credentials to test the application:
- Admin: admin@taskflow.com / password123
- Manager: manager@taskflow.com / password123
- Member: member@taskflow.com / password123
taskflow/
βββ backend/ # Backend application
β βββ models/ # Database models
β βββ routes/ # API routes
β βββ middleware/ # Custom middleware
β βββ utils/ # Utility functions
β βββ server.js # Entry point
βββ frontend/ # Frontend application
β βββ src/
β β βββ components/ # React components
β β βββ pages/ # Page components
β β βββ store/ # Redux store
β β βββ services/ # API services
β β βββ hooks/ # Custom hooks
β β βββ utils/ # Utility functions
β βββ public/ # Static files
βββ install.bat # Windows installation script
βββ start.bat # Windows start script
βββ README.md # This file
npm run dev- Start both frontend and backendnpm run server- Start backend onlynpm run client- Start frontend onlynpm run install-all- Install all dependencies
npm start- Start production servernpm run dev- Start development server with nodemon
npm start- Start development servernpm run build- Build for productionnpm test- Run tests
NODE_ENV=development
PORT=5000
MONGODB_URI=mongodb://localhost:27017/taskflow
JWT_SECRET=your_jwt_secret_key
JWT_EXPIRE=30d
EMAIL_HOST=smtp.gmail.com
EMAIL_PORT=587
EMAIL_USER=your_email@gmail.com
EMAIL_PASS=your_app_passwordREACT_APP_API_URL=http://localhost:5000/api
REACT_APP_SOCKET_URL=http://localhost:5000The application supports custom themes. Edit frontend/tailwind.config.js to customize colors:
theme: {
extend: {
colors: {
primary: {
// Your primary colors
},
neon: {
blue: '#00f5ff',
purple: '#bf00ff',
pink: '#ff0080',
// Add more neon colors
}
}
}
}Animations are powered by Framer Motion. Customize in frontend/src/index.css:
@keyframes yourAnimation {
0% { /* start state */ }
100% { /* end state */ }
}POST /api/auth/register- Register new userPOST /api/auth/login- Login userGET /api/auth/me- Get current userPUT /api/auth/profile- Update profile
GET /api/projects- Get all projectsPOST /api/projects- Create projectGET /api/projects/:id- Get project by IDPUT /api/projects/:id- Update projectDELETE /api/projects/:id- Delete project
GET /api/tasks- Get all tasksPOST /api/tasks- Create taskGET /api/tasks/:id- Get task by IDPUT /api/tasks/:id- Update taskDELETE /api/tasks/:id- Delete task
- JWT-based authentication
- Password hashing with bcrypt
- Input validation and sanitization
- CORS protection
- Rate limiting
- XSS protection
- SQL injection prevention
- Build the frontend:
cd frontend && npm run build - Deploy the
buildfolder to your hosting service - Set environment variables in your hosting dashboard
- Create a new app on your hosting service
- Connect your GitHub repository
- Set environment variables
- Deploy from the
backenddirectory
- Create a MongoDB Atlas account
- Create a new cluster
- Get the connection string
- Update
MONGODB_URIin your environment variables
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Commit your changes:
git commit -m 'Add amazing feature' - Push to the branch:
git push origin feature/amazing-feature - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- React - UI library
- Tailwind CSS - CSS framework
- Framer Motion - Animation library
- Socket.io - Real-time communication
- MongoDB - Database
- Express.js - Backend framework
If you have any questions or need help, please:
- Check the Issues page
- Create a new issue if your problem isn't already reported
- Contact us at support@taskflow.com
973742af3377736e3e652474c1aa6c4cc858ed7e Made with β€οΈ by the TaskFlow Team



