Giter Site home page Giter Site logo

reactjs-commentsapp's Introduction

In this project, let's build a Comments App by applying the concepts we have learned till now.

Refer to the image below:


comments output

Design Files

Click to view

Set Up Instructions

Click to view
  • Download dependencies by running npm install
  • Start up the app using npm start

Completion Instructions

Functionality to be added

The app must have the following functionalities

  • Initially, the list of comments should be zero and the inputs fields should be empty
  • When non-empty values are provided and Add Comment button is clicked,
    • A new comment should be added to the list of comments
    • The comments count should be incremented by one
    • The value of the input fields for name and comment should be updated to their initial values
  • When the Like button of a comment is clicked, if the image for Like is
    • Like image, then it should be changed to the Liked image
    • Liked image, then it should be changed to the Like image
  • When the Delete button of a comment is clicked, the comment should be deleted from the list of comments and the comments count should be decremented by one
Components Structure
component breakdown structure

Implementation Files

Use these files to complete the implementation:

  • src/components/Comments/index.js
  • src/components/Comments/index.css
  • src/components/CommentItem/index.js
  • src/components/CommentItem/index.css

Quick Tips

Click to view
  • The formatDistanceToNow function in the date-fns package is used to return the gap between the given date and now in words.
import {formatDistanceToNow} from 'date-fns'

console.log(formatDistanceToNow(new Date())) // less than a minute

Important Note

Click to view

The following instructions are required for the tests to pass

  • HTML input element for name should have the placeholder as Your Name
  • HTML textarea element for comment should have the placeholder as Your Comment
  • The Like image for each comment should have the alt as like
  • The Delete button for each comment should have the data-testid as delete
  • To display how much time ago the comment was posted, we will use formatDistanceToNow function from date-fns package

Resources

Image URLs
Colors
Hex: #dee0e3
Hex: #1e293b
Hex: #475569
Hex: #cbd2d9
Hex: #0284c7
Hex: #f59e0b
Hex: #0b69ff
Hex: #f97316
Hex: #10b981
Hex: #b91c1c
Hex: #0ea5e9
Hex: #334155
Hex: #94a3b8
Hex: #64748b
Hex: #7e858e
Font-families
  • Roboto

Things to Keep in Mind

  • All components you implement should go in the src/components directory.
  • Don't change the component folder names as those are the files being imported into the tests.
  • Do not remove the pre-filled code
  • Want to quickly review some of the concepts you’ve been learning? Take a look at the Cheat Sheets.

reactjs-commentsapp's People

Contributors

praveentamarapalli avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.