Thanks to visit codestin.com
Credit goes to www.scribd.com

0% found this document useful (0 votes)
7 views3 pages

Kanban Bord API

The assignment requires the design and implementation of a RESTful API for a Kanban Board system using Node.js, focusing on user authentication, board and task management, and drag-and-drop task ordering. Bonus features include real-time updates, activity logs, and role-based permissions. Submissions must include source code, API documentation, and test cases, with evaluation based on functionality, code quality, and security.

Uploaded by

arsalanans8377
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views3 pages

Kanban Bord API

The assignment requires the design and implementation of a RESTful API for a Kanban Board system using Node.js, focusing on user authentication, board and task management, and drag-and-drop task ordering. Bonus features include real-time updates, activity logs, and role-based permissions. Submissions must include source code, API documentation, and test cases, with evaluation based on functionality, code quality, and security.

Uploaded by

arsalanans8377
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3

DevifyX

Node.js Job Assignment

Assignment Title: Kanban Board API


Assignment Description: Boards Tasks Drag Order
Assignment Deadline: 7 Days

Objective
Design and implement a RESTful API for a Kanban Board system using Node.js. The
API should allow users to manage boards, columns, and tasks, including the ability to
drag and reorder tasks within and across columns. The goal is to demonstrate proficiency
in backend development, API design, and data consistency.

Core Features
1. User Authentication: Implement secure user registration and login using JWT.

2. Board Management: Create, read, update, and delete Kanban boards.

3. Column Management: Add, update, delete, and reorder columns within a board.

4. Task Management: Create, update, delete, and reorder tasks within columns.

5. Drag-and-Drop Task Ordering: Support API endpoints to update the order of


tasks via drag-and-drop (within and across columns).

6. Task Details: Each task should support title, description, status, and due date.

7. Board Sharing: Allow users to share boards with other registered users (read/write
access).

8. Data Validation: Ensure all input data is validated and errors are handled grace-
fully.

Bonus Features
ˆ Real-time updates using WebSockets (e.g., notify clients when board changes occur).

ˆ Activity log for each board (track changes made by users).

ˆ Task attachments (allow users to upload files to tasks).

ˆ Role-based permissions (admin, editor, viewer).

ˆ API documentation using Swagger/OpenAPI.

1
Technical Requirements
ˆ Backend: Node.js with Express.js (or similar framework).

ˆ Database: MongoDB (preferred) or PostgreSQL.

ˆ Authentication: JWT-based authentication.

ˆ Validation: Use a validation library such as Joi or express-validator.

ˆ Version Control: Use Git for source code management.

ˆ Testing: Include unit and integration tests (Jest, Mocha, or similar).

ˆ Documentation: Provide a README with setup instructions and API usage.

Deliverables
ˆ Source code repository (GitHub, GitLab, or similar).

ˆ API documentation (README and/or Swagger/OpenAPI).

ˆ Sample environment configuration file (.env.example).

ˆ Database schema/model definitions.

ˆ Test cases for key functionalities.

Use of AI Tools
You are permitted and encouraged to use AI-based coding tools such
as GitHub Copilot, ChatGPT, or similar platforms to assist with code
generation, debugging, and documentation. However, the final submission
should reflect your own understanding and structure.

Submission
ˆ Submit your assignment using the following form:
https://forms.gle/LAvLWFmHRLXswwsx5

ˆ Ensure your repository is publicly accessible or provide access credentials if private.

ˆ Include your full name and contact email in the submission form.

2
Evaluation Criteria
ˆ Functionality: Completeness and correctness of core and bonus features.

ˆ Code Quality: Readability, structure, and maintainability of code.

ˆ API Design: RESTful principles, clear endpoints, and error handling.

ˆ Testing: Coverage and quality of test cases.

ˆ Documentation: Clarity and thoroughness of README and API docs.

ˆ Security: Proper handling of authentication, authorization, and data validation.

ˆ Submission: Adherence to submission guidelines and deadlines.

We look forward to your submission!


Good luck from the DevifyX Team.

Click here to read our Terms and Conditions

You might also like