Skip to content

TaskPat facilitates users to login and perform CRUD operations on their profile and tasks added by user.

License

Notifications You must be signed in to change notification settings

Piyu2103/task-manager-api

Repository files navigation

Task-Manager-API


Logo

TASKPAT - Task Manager API

Taskpat facilitates uses to manage tasks according to their deadlines.
Explore the docs »

View Demo · Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. Contributing
  6. License
  7. Contact
  8. Acknowledgements

About The Project

  • TaskPat facilitates users to login and perform CRUD operations on their profile and tasks added by user.
  • Utilized Multer library for uploading and Sharp library for preprocessing the user profile avatar.
  • Configured JWT for authentication token generation and Bcrypt library for password encryption.
  • Integrated SendGrid Email API for sending subscription and related emails to user's registered email-id.
  • For Database, MongoDB is used with Mongoose client to store data on an online MongoDB Atlas server.
  • Created an automated unit testing suite using the Jest framework and supertest.

Built With

Getting Started

This is how to set up your project locally. To get a local copy up and running, follow these simple steps.

Prerequisites

  • npm
    npm install npm@latest -g
  • Postman
  • VS Code
  • MongoDB Compass

Installation

  1. Get a free SendGrid Email API Key at Send Grid
  2. Clone the repo
    git clone https://github.com/Piyu2103/task-manager-api
  3. Install NPM packages
    npm install
  4. Enter your API in config.js
    const API_KEY = 'ENTER YOUR API';
  5. Run npm test in the project directory to run all the test cases.

Usage

Using POSTMAN

  • Download POSTMAN
  • Import the postman collection from here
  • Set the necessary environment variables, {{url}}=localhost/[portnumber] and authtoken generated {{auth}}

Endpoints and Routes

  • POST - Create User
  • POST - Login user
  • POST - Logout User
  • POST - Logout from all devices
  • POST - Create Task
  • POST - Upload Avatar
  • GET - Read profile
  • GET - Read user
  • GET - Read tasks
  • GET - Read task
  • PATCH - Update user
  • PATCH - Update task
  • DEL - Delete user
  • DEL - Delete Avatar

Roadmap

See the Open Issues for a list of proposed features (and known issues).

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

Distributed under the MIT License. See LICENSE.md for more information.

Contact

Your Name - Piyush Singhal - singhalpiyush21@gmail.com

Project Link: task-manager-api

Acknowledgements

About

TaskPat facilitates users to login and perform CRUD operations on their profile and tasks added by user.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published