0% found this document useful (0 votes)
9 views2 pages

Task Tracker App Development Guide

The document outlines a task to create a Task Tracker application that allows multiple users to manage up to four projects each. Users must be able to sign up, log in, and perform CRUD operations on tasks, with specific information required for both users and tasks. The application should be built using ExpressJS, ReactJS, and either MongoDB or PostgreSQL, with a focus on authentication and code quality, and must be submitted via a GitHub repository with deployment instructions.

Uploaded by

321criz123
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)
9 views2 pages

Task Tracker App Development Guide

The document outlines a task to create a Task Tracker application that allows multiple users to manage up to four projects each. Users must be able to sign up, log in, and perform CRUD operations on tasks, with specific information required for both users and tasks. The application should be built using ExpressJS, ReactJS, and either MongoDB or PostgreSQL, with a focus on authentication and code quality, and must be submitted via a GitHub repository with deployment instructions.

Uploaded by

321criz123
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

DEVELOPER TRAINEE :- TASK-01

(DURATION 2 DAYS ONLY)

Create a Task tracker application where a user can track progress on a project.

The System can have multiple users and each user can have up to 4 projects.

The user should be able to:

1. Signup

2. Login

3. Create a project.

4. Create a task.

5. Read as Task.

6. Update a Task.

7. Delete a Task.

Each User should have the following information:

1. Email.

2. Password.

3. Name.

4. Country.

Each task should contain:

1. Title.

2. Description.

3. Status to track progress.

4. Date of creation, completion.


Your task is to create this application using ExpressJS, ReactJS, MongoDB/PostgreSQL. Implement
authentication (JWT) with proper data encapsulation while maintaining high code quality and following
best practices. You can add any other functionalities not mentioned in this document for bonus points.

Submission Method.

Push the backend and frontend into a GitHub Repository and provide any relevant information
regarding how to run the code in the same repository using the [Link] file. The final submissions
will be considered valid only if it is able to be deployed. You can also self host this application for bonus
points but make sure to include all relevant links in final submission.

Common questions

Powered by AI

Recommended best practices include maintaining modular code design, following consistent coding standards, implementing thorough testing routines, using version control effectively, and documenting the codebase comprehensively. These practices enhance maintainability, reduce errors, and ensure the robustness of the task tracker application .

Each user profile must contain an email, password, name, and country. This information is essential for unique identification, secure authentication, and personalizing the user experience. It facilitates effective user management by providing necessary details for login credentials and contextual user interactions within the application .

The user should be able to sign up, log in, create a project, and create, read, update, and delete tasks within the project. Each user can manage up to 4 projects, and tasks should be tracked based on their status and include metadata such as title, description, and creation and completion dates .

Additional functionalities could include user role management (e.g., admin, user roles), notification systems for task deadlines, integration with calendar apps, and advanced analytics for project performance. These enhancements could increase the application's utility by improving task management efficiency, collaboration, and user engagement .

ExpressJS is well-suited for backend development due to its lightweight nature and flexibility in handling web requests, making it ideal for building RESTful services. ReactJS is a popular choice for the frontend as it allows for building dynamic and interactive user interfaces with efficient rendering and reusable components, enhancing user experience .

User authentication is managed using JSON Web Tokens (JWT), which provides a secure method for verifying user identity without exposing sensitive information. The system requires proper data encapsulation to ensure data privacy and integrity, following industry best practices to protect user information such as email, password, and personal data .

The task tracker application can use either MongoDB or PostgreSQL as the database. The decision might be influenced by considerations such as the nature of the data (structured vs. unstructured), the scalability requirements, or familiarity with the database technologies. MongoDB is suitable for applications needing flexible schema design, while PostgreSQL offers robustness with complex queries and transactions .

Data encapsulation restricts direct access to object data, enabling higher control over the internal workings and protecting against inconsistencies or corruption. In the task tracker application, it fosters security, shields sensitive user information, and ensures that only authorized operations modify data, thereby enhancing the application's reliability and user trust .

The application must be deployable, and the codebase should be pushed to a GitHub repository including instructions in a README.md file for setup and execution. Supporting links should be included if the application is self-hosted for bonus points, ensuring that it is accessible and functions as specified, following best practices for deployment and version control .

Criteria include robustness and reliability of authentication (JWT), completeness of all core functionalities (task CRUD operations), data security measures, adherence to user role requirements, documentation quality, and performance under load. Additionally, the application's ability to scale, its response times, error handling capabilities, and successful deployment (as per README.md guidance) are critical factors .

You might also like