Skip to content

Latest commit

 

History

History
53 lines (23 loc) · 1.76 KB

task-description.md

File metadata and controls

53 lines (23 loc) · 1.76 KB

Task Title: Task Manager API

Objective:

Create a simple Task Manager REST API using Node.js and TypeScript. This API will allow the user to create, read, update, and delete tasks.

📍As an additional "plus", we'd like to see the implementation of user authentication and authorization.

Core Requirements:

  • Use Node.js and TypeScript to create your application.

  • Your API should support operations to Create, Read, Update, and Delete (CRUD) tasks. Each task should have at least a title, description, status (i.e., pending, in-progress, completed), and a due date.

  • The tasks should be stored in a MySQL or MongoDB database.

  • Implement user authentication and authorization. Only authorized users should be able to perform the CRUD operations. You can use JSON Web Tokens (JWT) or any other method you prefer.

  • Write unit tests for your API endpoints using a testing framework of your choice.

  • Include a comprehensive README file explaining your design choices and how to use your project.

😎Bonus Requirements:

  • Implement rate limiting to protect the API from being overwhelmed by too many requests.

  • Implement filtering, sorting, and pagination for the tasks.

  • Add a feature to send reminders to users about their upcoming tasks via email.

📌 Deliverables:

  • A public GitHub repository containing your code.

  • A README file that explains:

    • Your design decisions and why you made them.

    • How to run your project.

    • How to use your project (if it's not self-explanatory).

  • Optionally, a deployed version of your API. You can use services like Heroku or AWS for hosting.

📝 The evaluation will be based on the code quality, API functionality, design, and the optional bonus features.