TaskMate is a modern, full-stack task management application built with React, Node.js, and MongoDB. It provides a user-friendly interface for managing tasks with features like task creation, editing, deletion, and status tracking.
-
🔐 User Authentication
- Secure login and registration
- JWT-based authentication
-
📝 Task Management
- Create, read, update, and delete tasks
- Add due dates
- Task categorization
-
🎨 User Interface
- Modern and responsive design
- Dark mode support
- Intuitive task organization
- Real-time updates
-
💻 Frontend
- React.js
- Vite
- Tailwind CSS
- React Router
- Axios
-
⚙️ Backend
- Node.js
- Express.js
- MongoDB
- JWT Authentication
-
Clone the repository:
git clone https://github.com/yourusername/taskmate.git cd taskmate -
Install dependencies:
# Install server dependencies cd server npm install # Install client dependencies cd ../client npm install
-
Set up environment variables:
- Create a
.envfile in the server directory - Add your MongoDB connection string:
MONGODB_URI=your_mongodb_connection_string JWT_SECRET=your_jwt_secret
- Create a
-
Start the development servers:
# Start the backend server cd server npm run dev # Start the frontend development server cd ../client npm run dev
taskmate/
├── client/ # Frontend React application
│ ├── src/
│ │ ├── components/ # React components
│ │ ├── pages/ # Page components
│ │ ├── context/ # React context
│ │ ├── hooks/ # Custom hooks
│ │ └── utils/ # Utility functions
│ └── public/ # Static assets
│
└── server/ # Backend Node.js application
├── controllers/ # Route controllers
├── models/ # MongoDB models
├── routes/ # API routes
└── middleware/ # Custom middleware
POST /api/auth/register- Register a new userPOST /api/auth/login- Login userGET /api/tasks- Get all tasks for the authenticated userPOST /api/tasks- Create a new taskPUT /api/tasks/:id- Update a taskDELETE /api/tasks/:id- Delete a task
- Fork the repository
- Create your 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
Your Name - Arvin Choudhary Email- ArvindChoudhary054@gmail.com