Git Product home page Git Product logo

task-tracking-system's Introduction

Task Tracking System

Overview

This project is a task tracking system designed to help you keep track of your tasks and manage your to-do lists effectively by using API Calls. Whether you're working on personal projects or collaborating with a team, this system can help you stay organized and productive.

Table of Contents

Getting Started

Prerequisites

Before you can run the task tracking system, you'll need the following prerequisites:

  • Node.js installed on your system
  • npm (Node Package Manager) installed
  • MongoDB installed and running
  • Postman installed and running

Installation

  1. Clone the repository to your local machine:

    git clone https://github.com/shrey-suri/task-tracking-system.git
  2. Navigate to the project directory:

    cd task-tracking-system
    cd backend
  3. Install the project dependencies:

    npm install
  4. Create a .env file in the project root directory and specify your MongoDB connection string:

    MONGODB_URI=your_mongodb_connection_string_here
    

Node Modules Used

  1. Express.js
npm install express --save
  1. MongoDB
npm install mongodb
  1. Mongoose
npm install mongoose --save
  1. body-parser
npm install body-parser --save
  1. Jest
npm install jest --save-dev

Schemas

    task {
        name: {
        type: String,
        required: true,
        },
        description: {
            type: String,
        },
        status: {
            type: String,
            default: 'open'
        },
        Creation and Modification dates
    }

Usage

Creating Tasks

To create a new task, follow these steps:

  1. Run the application:
  • Dev:
npm run server-dev
  • Production
npm run server-prod
  1. Open your web browser and navigate to http://localhost:3000, unless another port mentioned in .env file

  2. Use Postman and navigate to http://localhost:3000/api/tasks.

  3. Make a post request body with the task details, such as the task name, description, status.

  4. Click the "Send" button to create the task.

API Calls

You various API calls are:

  • API to create a task: "Post http://localhost:3000/api/tasks" (provide request body)
  • API to get all tasks, paginated: "Get http://localhost:3000/api/tasks?pageNum=n"
  • API to get task by id: "Get http://localhost:3000/api/tasks/id" (id needs to be provided)
  • API to update a task: "Put http://localhost:3000/api/tasks" (provide id in the request body)
  • API to get task metrics like counts tasks on basis of status and timeline: "Get http://localhost:3000/api/tasks/metrics"

Pagination

This project includes pagination to help manage large lists of tasks efficiently. The current pagination configuration is: pagination: 3. You can modify and try it out. Modify the pagination configuration at: backend/config/pagination.js

Testing

Jest is used for testing in this project. To run the tests, provide the mongoDB url and use the following command:

npm run test

You can create your own tests at: backend/__tests__/databaseCall.js

task-tracking-system's People

Contributors

shrey-suri avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.