Manage your daily tasks with ease.
Task Manager is a web application designed to help users efficiently manage their tasks. It provides functionalities such as creating, updating, deleting tasks, and marking tasks as completed or pending. The application offers a user-friendly interface to interact with tasks seamlessly.
To run the Task Manager application locally, follow these steps:
-
Clone the repository:
git clone https://github.com/MeetJoshi1703/taskmanager-assignment.git cd taskmanager-assignment -
Set up the server:
-
Navigate to the server directory:
cd server -
Install dependencies:
npm install
-
Create a
.envfile in the server directory and add the following environment variables: -
(note* : providing mongo URI only for submission purpose later I shall disable it)
NODE_ENV=development PORT=8000 MONGO_URI="add your mongo uri connection" -
Start the server:
node server.js
This will start the server on port 8000.
-
-
Set up the client:
-
Navigate to the client directory from the root:
cd client -
Install dependencies:
npm install
-
Start the client:
npm start
This will start the client on port 3000.
-
Once the application is running locally, you can access it by navigating to http://localhost:3000 in your web browser. Here are some key features and actions you can perform:
- Create Task: Click on the "Create Task" button to add a new task.
- View Task Details: Click on "View Details" button next to each task to see more information.
- Edit Task: You can edit task details by clicking on the "Edit" button and updating the title and description.
- Delete Task: Remove tasks by clicking on the "Delete" button.
- Update Task Status: Change the status of tasks between "Completed" and "Pending" by clicking on the status button.
The application uses a RESTful API to interact with tasks. Here are the main endpoints:
- GET /api/tasks: Retrieve all tasks.
- POST /api/tasks: Create a new task.
- GET /api/tasks/:id: Retrieve a specific task by ID.
- PUT /api/tasks/:id: Update a task by ID.
- DELETE /api/tasks/:id: Delete a task by ID.
- PUT /api/tasks/:id/togglestatus: Toggle the status of a task between "Completed" and "Pending".
The following technologies and tools were used in the development of Task Manager:
- React.js
- Node.js
- Express.js
- MongoDB
- Bootstrap
- React Bootstrap
- RESTful API
- Postman
-
Folder Structure: Organized using MVC and RESTful architecture principles.
-
Model: Defined MongoDB schema for tasks.
-
Controller: Implemented CRUD operations for tasks.
-
Routes: Set up API routes for tasks.
-
Server Configuration: Configured Express server and MongoDB connection.
Use Postman for testing API endpoints:





