top of page

React js Project Help | Full Stack Projects Help | Get Help In MERN Stack Projects | Sample Practice Set | Realcode4you



Sample Practice Set 1

Technology Stack:

Node.js and npm

Express.js or another suitable Node.js framework

A database of your choice (MongoDB, PostgreSQL, MySQL, etc.)

jsonwebtoken library for JWT generation and validation

Use React.js for component structure and functionality.


Signup Screen:

Include fields for username/email, password (with confirmation), and optional fields like

name and profile picture.

Implement validation for the required fields and email format using React state management and validation libraries.

Include terms and conditions checkbox.

Display clear error messages and success messages.

Simulate sending a welcome email notification upon successful signup (no actual email sending required).

Redirect to the post list screen after successful signup using React Router.


General Requirements:

Post list Screen:

There should be a screen where user can scroll infinitely and posts will be rendered using GET api of posts.

Implement responsive design using Tailwind.

Ensure the screens are visually appealing and consistent with the "MelodyVerse" theme

(design details left to your interpretation).


Submit your code as a zip file or a link to a public repository.


JWT Implementation:

Generate JWT tokens with appropriate payload and expiration time upon successful login.

Validate JWT tokens in protected routes to ensure user authentication.

Implement robust token refresh mechanisms if desired.


Best Practices:

Enforce input validation and sanitization to prevent vulnerabilities.

Protect against common attacks like SQL injection and XSS.

Securely store passwords using strong hashing algorithms (bcrypt or Argon2).

Implement proper error handling and provide informative error messages.

Write clean, well-structured, and documented code.

Consider using environment variables for sensitive information.

Handle sessions and token expiration effectively.


Sample Practice Set 2

Learning Objectives

  • Create a web application with component-based framework ReactJS.

  • Use basic ReactJS concepts such as JSX, components, props, and component state.

 

Requirements

Create a ReactJS application for rolling dice.

Your application should present the user with a label "number of dice" next to a "number of dice" number that is initially set to 1.  The number itself should not be displayed in an input textbox.  Initially there should be a single "dice" on the page, and the number on the dice should be "1".  How exactly you represent each dice is up to you, but use some CSS styling to give the dice a background color (e.g. like a square box on the page with a number inside of it).  When the "number of dice" number is clicked on, the number of dice should be incremented by 1, i.e. the number itself should be incremented by 1, and a new dice should appear on the page with its number set to 1.  Beside the "number of dice" number there should be a "reset" button.  When the reset button is clicked, the number of dice should be set back to "1" and only a single dice showing the number "1" should appear on the page again.


There should also be a label on the page for "number of sides" next to a "number of sides" number that is initially set to 6.  The number itself should not be displayed in an input textbox.  Beside the number of sides number there should be up and down buttons.  When the up button is clicked the number of sides should be incremented by 1, and when the down button is clicked the number should be decremented by 1.  The minimum value for number of sides is 1 and the maximum value is 20.  If the number of sides is already 1 when the down button is clicked the number should not change in

this case, and if the number of sides is already 20 when the up button is clicked the number should also not change in this case.


When a specific dice in the list of displayed dice is clicked on, the number on that dice should be incremented by 1.  If incrementing the number on that dice will cause it to exceed the current number of sides, then the number on the dice should reset to 1.   


The application should also provide a "roll" button. When the roll button is clicked, a dice roll should occur, and each dice should have its number set to a random value between 1 and the current number of sides. Your solution must be built using ReactJS in the expected ways using components, state, props and other concepts.  Your solution can use either class or function components with hooks if you prefer.  Using jQuery, or using JavaScript in ways not expected when using ReactJS (e.g. DOM manipulation), will not be awarded marks. Your solution must incorporate a dice component that is given its number to display via a prop. This component should not have any state. You should have at least one other component in your solution as well.


Use CSS to make the numbers, labels, buttons and dice appear attractive and professional.



Send Your Project Requirement Details at:

bottom of page