0% found this document useful (0 votes)
2 views4 pages

Full Stack Developer Assignment (MERN)

The assignment requires candidates to build a Task Management System using the MERN stack, focusing on full-stack application development, authentication, and clean API design. Users should be able to create, view, update, and delete tasks with role-based permissions for personal and assigned tasks. Submissions must include a GitHub repository, a README with setup instructions, and a deployed application link, with evaluation based on functionality, code quality, and UI usability.

Uploaded by

mf3462354
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)
2 views4 pages

Full Stack Developer Assignment (MERN)

The assignment requires candidates to build a Task Management System using the MERN stack, focusing on full-stack application development, authentication, and clean API design. Users should be able to create, view, update, and delete tasks with role-based permissions for personal and assigned tasks. Submissions must include a GitHub repository, a README with setup instructions, and a deployed application link, with evaluation based on functionality, code quality, and UI usability.

Uploaded by

mf3462354
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

Full Stack Developer Assignment (MERN)

Overview
As part of our hiring process, you are required to build a simple Task Management System
using the MERN stack (MongoDB, [Link], [Link], [Link]).

The goal of this assignment is to evaluate your ability to:

●​ Build a complete full-stack application


●​ Implement authentication and authorization
●​ Design clean APIs and data models
●​ Write structured, readable, and maintainable code

Technical Requirements
●​ Frontend: [Link]
●​ Backend: [Link] + [Link]
●​ Database: MongoDB or PostgreSQL
●​ Authentication: JWT-based authentication

Authentication
Implement basic user authentication:

●​ User Registration
●​ User Login
●​ Passwords should be securely stored (hashed)
●​ Use JWT for authentication
●​ Protected routes should only be accessible to authenticated users

Task Management
Each user should be able to:

●​ Create tasks
●​ View tasks
●​ Update tasks
●​ Delete tasks

Task Fields:

●​ Title
●​ Description
●​ Status (Todo / In Progress / Done)
●​ Due Date

Task Types & Behavior


1. Personal Tasks

●​ Created by a user
●​ Visible only to the creator
●​ All fields can be edited by the creator

2. Assigned Tasks

●​ A user (assigner) can assign a task to another user (assignee)

Visibility:

●​ Visible to both assigner and assignee

Role-Based Permissions (Important)


For Assigned Tasks:

Assignee:

●​ Can only update the task status


●​ Cannot modify:
○​ Title
○​ Description
○​ Due Date

Assigner:

●​ Can view the task and its progress


●​ Can set and update the due date
●​ Cannot update:
○​ Task status

General Rule:

●​ Users should not be able to access or modify tasks they are not related to

Frontend Requirements
Create a simple and clean UI with the following pages:
●​ Login / Register
●​ Dashboard (task list)
●​ Task creation / update interface

Expectations:

●​ Clean and readable layout


●​ Proper handling of:
○​ Loading states
○​ Empty states
○​ Error states

Submission Guidelines
Please submit the following:

1.​ GitHub Repository link


2.​ README file including:
○​ Setup instructions
○​ Tech stack used
○​ Sample user credentials (at least 2 users required)
3.​ Deployed application link (mandatory)

Notes
●​ The application should be fully functional and error-free
●​ Focus on correctness, clarity, and code quality
●​ Avoid overcomplicating the solution
●​ Ensure proper authorization checks are implemented
●​ The system should correctly handle multiple users and task assignments

Evaluation Criteria
Your submission will be evaluated based on:

●​ Functionality (end-to-end working application)


●​ Code quality and structure
●​ API design and database modeling
●​ Authentication and authorization implementation
●​ Correct handling of role-based permissions
●​ UI usability and clarity

We are looking for candidates who can take ownership of a problem and deliver a clean,
working solution.

Good luck!

You might also like