This Task Management Application is a full-stack web application designed to help users organize and track their tasks efficiently. It provides a user-friendly interface for creating, updating, and deleting tasks, as well as marking them as complete.
- Create new tasks with title, description, due date, and category
- View a list of all tasks
- Edit existing tasks
- Mark tasks as complete
- Delete tasks
- Filter tasks by category or completion status
- Sort tasks by due date or creation date
- Frontend: Next.js, React, Tailwind CSS
- Backend: Node.js, Express.js
- Database: MongoDB
- Testing: Jest, Supertest
- Node.js (v14 or later)
- npm (v6 or later)
- MongoDB (v4 or later)
-
Clone the repository:
git clone https://github.com/GauravOOO2/TaskManagement_assignment_Frontend.git
-
Install dependencies for both frontend and backend:
cd ../TaskManagement_assignment_Frontend npm install -
Set up environment variables:
- In the
frontenddirectory, create a.env.localfile with:NEXT_PUBLIC_API_URL=http://localhost:5000/api
- In the
-
Start the backend server:
cd backend npm run dev -
In a new terminal, start the frontend development server:
cd frontend npm run dev -
Open your browser and navigate to
http://localhost:3000
GET /api/tasks: Retrieve all tasksPOST /api/tasks: Create a new taskGET /api/tasks/:id: Retrieve a specific taskPUT /api/tasks/:id: Update a specific taskDELETE /api/tasks/:id: Delete a specific task
To run the backend tests:
cd backend
npm testThis application can be deployed using platforms like Vercel for the frontend and backend. Make sure to set the appropriate environment variables in your deployment platform.
Contributions are welcome! Please feel free to submit a Pull Request.