Skip to content

rishabhpurohit/TaskManager-API

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TaskManager-API


Logo

TASKIFY - Task Manager API

Taskify 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

  • Taskify facilitates users to login and perform CRUD operations on their profile and tasks added by them.
  • 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.
  • For Database, MongoDB is used with Mongoose client to store data on an online MongoDB Atlas server.
  • Integrated SendGrid Email API for sending subscription and related emails to user's registered email-id.
  • 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
  • VSCode
  • MongoDB Compass

Installation

  1. Get a free SendGrid Email API Key at Send Grid
  2. Clone the repo
    git clone https://github.com/rishabhpurohit/TaskManager-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 For more examples, please refer to the Documentation

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

Rishabh Purohit - rishabh.purohit123456789@gmail.com

Project Link: TaskManager-API

Acknowledgements

About

Taskify is a Task Manager that facilitates users to register/signup and manage their profile and tasks using the REST APIs.

Topics

Resources

License

Stars

Watchers

Forks

Contributors 2

  •  
  •