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

JS Intern Assignment

The document outlines a task management application assignment requiring user registration, task management, collaboration features, and a responsive UI using ReactJS and Firebase. It includes specifications for security, testing, and performance optimization, along with evaluation metrics for functionality, code quality, UI design, security, testing, and performance. Deliverables include source code, a live demonstration, deployment instructions, and user documentation.

Uploaded by

meghana17p
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)
10 views4 pages

JS Intern Assignment

The document outlines a task management application assignment requiring user registration, task management, collaboration features, and a responsive UI using ReactJS and Firebase. It includes specifications for security, testing, and performance optimization, along with evaluation metrics for functionality, code quality, UI design, security, testing, and performance. Deliverables include source code, a live demonstration, deployment instructions, and user documentation.

Uploaded by

meghana17p
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

JS Developer Evaluation Assignment

Task: Building a Real-time Task Management Application

Requirements:

1. User Registration and Authentication:


- Implement user registration and login functionality using Firebase Authentication.

- Users should be able to register with their email and password or sign in with their existing credentials.

- Implement password reset functionality for users who forget their passwords.

2. Task Creation and Management:


- Users should be able to create new tasks with a title, description, and due date.

- Implement real-time task updates using Firebase Realtime Database or Firestore.

- Users should be able to update and delete tasks.

- Provide a list view of all tasks with the ability to filter tasks based on their completion status or due date.

3. User Collaboration:
- Allow users to collaborate on tasks by assigning tasks to other registered users.

- Implement real-time notifications for task assignments and updates.

- Users should be able to comment on tasks and have real-time updates on the comments section.
4. User Interface:
- Design and implement a responsive and intuitive user interface using ReactJS.

- Use React Router for handling different application routes.

- Implement proper form validation for user inputs.

- Utilize reusable and modular components to enhance code maintainability.

5. Security and Authorization:


- Implement appropriate security rules and access controls using Firebase Authentication and
Firestore/Firebase Realtime Database.

- Ensure that users can only access and modify their own tasks and data.

- Implement role-based authorization for administrative tasks (e.g., user management).

6. Testing:
- Write comprehensive unit tests for critical application components and functionality using testing frameworks
such as Jest or React Testing Library.

- Ensure proper code coverage and validate that the application behaves as expected in different scenarios.

7. Performance Optimization:
- Optimize the application's performance by implementing efficient data fetching and rendering techniques.

- Utilize Firebase features like Firestore indexing and caching to improve the application's response time.

- Implement lazy loading or code splitting techniques to optimize the initial page load time.

Evaluation Metrics:
1. Functionality (40%):
- Verify if all the required features have been implemented according to the specifications.

- Test the registration, login, task creation, task management, collaboration, and notification functionalities.

2. Code Quality (20%):


- Evaluate the overall code structure, organization, and adherence to best practices.

- Check if the code is modular, reusable, and follows proper naming conventions.

- Assess the quality of error handling and logging.

3. User Interface (15%):


- Assess the design, layout, and responsiveness of the user interface.

- Evaluate the usability and intuitiveness of the application.

- Check if the interface adheres to the best practices of UI/UX design.

4. Security and Authorization (10%):


- Verify the implementation of secure user authentication and authorization mechanisms.

- Evaluate the effectiveness of security rules and access controls for data protection.

5. Testing (10%):
- Evaluate the completeness and accuracy of unit tests.

- Check the code coverage and the ability of tests to catch potential bugs and issues.

6. Performance (5%):
- Assess the application's responsiveness and speed.

- Verify the implementation of performance optimization techniques.


Deliverables:
1.​ Source Code:
a.​ Provide the complete source code of the application, including the ReactJS components, Firebase
configuration, and any other required files.
2.​ Demonstration:
a.​ Present a live demonstration of the application showcasing its functionality and user interface. This
can be a recorded video uploaded to google drive, and you can share the link of the same.
b.​ Keep a ready deployed version to showcase in the next round.
3.​ Deployment:
a.​ Deploy the application to a hosting platform such as Firebase Hosting or any other preferred
platform.
b.​ Provide the deployed URL and/ or any instructions on how to access the deployed application.
4.​ User Documentation:
a.​ Create user documentation that explains how to use the application.
b.​ Include step-by-step instructions for common tasks such as registration, task creation,
collaboration, and task management.
c.​ Add screenshots in the document or illustrations to enhance understanding.

Submission:
1.​ URL of the working app to be submitted on the following link :
Submission Link

You might also like