Skip to content

Latest commit

 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

Task Manager

Manage your daily tasks with ease.

Description

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.

Table of Contents

Installation

To run the Task Manager application locally, follow these steps:

  1. Clone the repository:

    git clone https://github.com/MeetJoshi1703/taskmanager-assignment.git
    cd taskmanager-assignment
  2. Set up the server:

    • Navigate to the server directory:

      cd server
    • Install dependencies:

      npm install
    • Create a .env file 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.

  3. 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.

Usage

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.

API Endpoint

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".

Technologies Used

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

Development Process

Backend Development

  1. Folder Structure: Organized using MVC and RESTful architecture principles.

  2. Model: Defined MongoDB schema for tasks.

  3. Controller: Implemented CRUD operations for tasks.

  4. Routes: Set up API routes for tasks.

  5. Server Configuration: Configured Express server and MongoDB connection.

Frontend Development

  1. UI Components: Designed and built React components for task management.

Postman Usage

Use Postman for testing API endpoints:

  1. GET All Tasks:

  2. POST Create Task:

  3. PUT Update Task:

  4. DELETE Task:

  5. PUT Toggle Task Status:

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages