https://github.com/niteshthori24198/task-management-app
This is a RESTful API for managing tasks. Users can create, retrieve, update, and delete tasks. It also includes optional features like authentication and rate limiting along with all user related crud operations.
https://github.com/niteshthori24198/task-management-app
bcrypt expressjs javascript jwt mongodb nodejs
Last synced: 3 months ago
JSON representation
This is a RESTful API for managing tasks. Users can create, retrieve, update, and delete tasks. It also includes optional features like authentication and rate limiting along with all user related crud operations.
- Host: GitHub
- URL: https://github.com/niteshthori24198/task-management-app
- Owner: Niteshthori24198
- Created: 2023-10-08T05:09:20.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2023-10-09T07:55:48.000Z (over 2 years ago)
- Last Synced: 2025-02-13T13:16:14.794Z (over 1 year ago)
- Topics: bcrypt, expressjs, javascript, jwt, mongodb, nodejs
- Language: JavaScript
- Homepage: https://task-management-app-niteshthori24198.vercel.app/
- Size: 20.5 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Task-Management-Api
Task Management API
This is a RESTful API for managing tasks. Users can create, retrieve, update, and delete tasks. It also includes optional features like authentication and rate limiting along with all user related crud operations.
## Table of Contents
- Getting Started
- Prerequisites
- Installation
- Usage
- Running the API
- Task structure
- Endpoints
- Authentication
- Error Handling
- Logging
- Rate Limiting
## Getting Started
Prerequisites
Before you begin, ensure that you have met the following requirements :
- Node.js
- MongoDB
## Clone this repository:
- git clone https://github.com/Niteshthori24198/Task-Management-App
- cd task-management-app
## Install dependencies:
npm install
Add a .env file and add below three varibales:-
mongoURL=your mongodb atlas url
port=3001
SecretKey=""
- Running the APP:
npm run server
The API will be accessible at http://localhost:3001 by default.
Deployment : https://task-management-app-niteshthori24198.vercel.app/
## Task Structure
Each task should have the following properties:
- ID
- Title
- Description
- CreationDate
- Status (e.g., Pending, Completed, In Progress)
## API Endpoints :
POST /todotask/addnewtask: Add a new task to Database.
GET /todotask/getalltask: Retrieve a list of all tasks from Database.
GET /todotask/getonetask/:ID Retrieve a specific task by task-ID.
PUT /todotask/updatetask/:ID Update a specific task by task-ID.
DELETE /todotask/deletetask/:ID Delete a specific task by task-ID.
## Authentication Endpoints
POST /user/register: Register a new user.
POST /user/login: Authenticate and login a user.
POST /user/logout: Logout a user from application.
## User Endpoints
GET /user/get: Get user information from Database.
PATCH /user/update : Update user informations.
DELETE /user/delete : Delete user Account.
## Authentication:
To use authentication, you must register and log in to manage tasks. Protected endpoints require authentication which is being handle by JWT authentication.
## Error Handling
Appropriate HTTP status codes and error messages will be returned in case of errors occurs during requests.
## Logging
API requests and responses is being logged into a apilogs.txt file using which we can track all requests.
## Rate Limiting
Rate limiting is applied to restrict the number of requests from clients within a specified time period so our server won't get overloaded by too many requests.
Thank You.💖