TaskFlow is a modern task management application built with the MERN stack (MongoDB, Express.js, React, Node.js). Users can create task lists and manage individual tasks efficiently.
- User authentication and registration
- Create, update, and delete task lists
- Add, edit, and remove tasks within lists
- Responsive UI for desktop and mobile
- React.js (TypeScript)
- Tailwind CSS & Desi UI for styling and components
- Zustand & React Query for state management and data fetching
- Express.js (TypeScript)
- MongoDB with Mongoose for data storage
- Redis for OTP and caching
- JWT for authentication
- Linting (ESLint) and formatting (Prettier) for code quality
task-management/
├── client/ # Frontend (React.js + TS)
├── server/ # Backend (Express.js + TS)
- Node.js (>=18.x)
- MongoDB and Redis
-
Clone the repository:
git clone https://github.com/yourusername/task-management.git cd task-management -
Set up environment variables:
- Create
.envfiles in bothclient/andserver/directories. - Add MongoDB URI, Redis URI, JWT secret, OAuth credentials, and any other required settings.
- Create
-
Manual Start (for development):
- Backend:
cd server npm install npm run dev - Frontend:
cd client npm install npm run dev
- Backend:
-
Linting & Formatting:
- Frontend:
npm run lint
- Backend:
npm run lint npm run format
- Frontend:
-
Access the app:
- Frontend: http://localhost:5173
- Backend API: http://localhost:5000 (default ports, configurable)
PORT=5000
NODE_ENV=development
LOG_LEVEL=info
MONGO_URI=your mongodb url
JWT_SECRET=your jwt secret
REFRESH_JWT_SECRET=your refresh jwt secret
REFRESH_JWT_MAX_AGE=7 * 24 * 60 * 60 * 1000
REDIS_URL=your redis url
REDIS_PASSWORD=your redis password
EMAIL_USER=your email for otp
EMAIL_PASS=email passoword for otp
VITE_API_URL=http://localhost:5000/api
| Location | Script | Purpose |
|---|---|---|
| client | npm run dev |
Start frontend (React.js) |
| client | npm run lint |
Lint frontend code |
| server | npm run dev |
Start backend (Express.js) |
| server | npm run lint |
Lint backend code |
| server | npm run format |
Format backend code |
📧 Email: shamsheedali0786@gmail.com 📌 GitHub: shamsheedali