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

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

Assignment MERN 1

The assignment requires building a real-time collaborative to-do board application using a specified tech stack, including backend and frontend technologies. Key features include user authentication, task management with real-time updates, conflict handling, and a unique UI without third-party libraries. Submission involves creating a GitHub repository, deploying the app, recording a demo video, and providing a logic document explaining implemented features, all due within 7 days.

Uploaded by

Mk comedy
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)
6 views3 pages

Assignment MERN 1

The assignment requires building a real-time collaborative to-do board application using a specified tech stack, including backend and frontend technologies. Key features include user authentication, task management with real-time updates, conflict handling, and a unique UI without third-party libraries. Submission involves creating a GitHub repository, deploying the app, recording a demo video, and providing a logic document explaining implemented features, all due within 7 days.

Uploaded by

Mk comedy
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

Full Stack Coding Assignment: Real-Time

Collaborative To-Do Board


Objective
Build a web-based collaborative to-do board application where multiple users can log in, manage
tasks, and see changes happen in real time—similar to a minimal Trello board but with live sync
and some custom business logic.

Assignment Brief
1. Backend (Node.js/Express + MongoDB or PHP + MySQL)

• User Registration & Login:


Secure sign-up/login with hashed passwords and JWT-based authentication.

• Task API:
Tasks have title, description, assigned user, status (Todo, In Progress, Done), and priority.

• Real-Time Sync:
Implement real-time updates using WebSockets (e.g., Socket.IO for Node.js) so all users see
changes instantly.

• Action Logging:
Every change (add/edit/delete/assign/drag-drop) should be logged with who did what, when.
Expose a REST API to fetch the last 20 actions.

• Con ict Handling:


If two users edit the same task at the same time, detect the con ict and prompt both users to
resolve (see details below).

2. Frontend (React, no UI template libraries)

• Login/Register Pages:
Custom-built forms (do not use Bootstrap or any form generator).

• Kanban Board:
Three columns: Todo, In Progress, Done.
Tasks can be dragged and dropped between columns and reassigned to any user.

• Activity Log Panel:


Shows last 20 actions; updates live.

• Unique UI:
Custom styling only—no third-party CSS frameworks.

• Animations:
At least one custom animation (e.g., card ip, smooth drag-drop, etc.).
fl
fl
fl
• Responsiveness:
The app should work well on both desktop and mobile screens.

3. Unique Logic Challenges

• Smart Assign:
Add a “Smart Assign” button—when clicked on a task, it assigns the task to the user with
the fewest current active tasks. You must implement this logic yourself.

• Con ict Handling:


If two users edit the same task at the same time, show both versions and let users choose to
“merge” or “overwrite.”

• Validation:
Task titles must be unique per board, and must not match column names.

Submission & Deployment Instructions


1. GitHub Repository
◦ Create a public GitHub repository for your project.

◦ Make regular, meaningful commits showing your work and progress.

◦ Include a detailed README.md with:

▪ Project overview

▪ Tech stack used

▪ Setup and installation instructions (how to run both backend and frontend
locally)

▪ Features list and usage guide

▪ Explanations for your Smart Assign and Con ict Handling logic

▪ Link to your deployed live app and demo video

2. Live Deployment
◦ Deploy both backend and frontend to a free hosting service.

▪ Frontend: Vercel, Netlify, or similar

▪ Backend: Render, Railway, Cyclic, Heroku, or similar (Node.js/MongoDB


recommended)

◦ Make sure your deployed app is accessible and works for demonstration.

◦ Include all necessary environment variable setup instructions in your README (do
not share secrets or private keys).
fl
fl
3. Demo Video
◦ Record a 5–10 minute screen recording with voiceover (Loom, Zoom, OBS, or
similar tools are ne).

▪ Brief intro to your project and tech stack

▪ Show login/register, Kanban features, real-time sync, Smart Assign, and


con ict resolution

▪ Highlight your favorite part or the most challenging part

◦ Upload your video to Google Drive, YouTube (unlisted), Loom, or any accessible
platform.

◦ Include the video link in your README.

4. Logic Document
◦ Create a 1-page PDF or Markdown le titled Logic_Document.pdf or
Logic_Document.md explaining:

▪ How you implemented Smart Assign (in your own words, not code)

▪ How your con ict handling works, with examples if possible

5. Final Submission
◦ Submit the following via the Internshala portal (in the assignment submission
section):

▪ The GitHub repository link

▪ The deployed app URL

▪ The demo video link

▪ The logic document (uploaded as PDF/Markdown, or a link to it in your


repo)

◦ Make sure all links are accessible and permissions are set for viewing.

Deadline
Submit all requirements on the Internshala portal by:

11:59 PM IST, 7 days from the date you receive this assignment
fl
fl
fi
fi

You might also like