This is a solution to the Interactive comments section challenge on Frontend Mentor. Frontend Mentor challenges help you improve your coding skills by building realistic projects.
Users should be able to:
- View the optimal layout for the app depending on their device's screen size
- See hover states for all interactive elements on the page
- Create, Read, Update, and Delete comments and replies
- Upvote and downvote comments
- Bonus: If you're building a purely front-end project, use
localStorage
to save the current state in the browser that persists when the browser is refreshed. - Bonus: Instead of using the
createdAt
strings from thedata.json
file, try using timestamps and dynamically track the time since the comment or reply was posted.
- Solution URL: https://www.frontendmentor.io/solutions/comments-section-with-react-and-expressjs-backend-RVyc5MwCp
- Live Site URL: https://interactive-comments-section-tb.netlify.app/
- React.js
- SCSS module
- ExpressJS
- JWT
- TypeScript
With this challenge, I learned how to build an API with ExpressJS and deploy it to Heroku. I also learned how to manage a Redux-like global state with React native hooks useContext and useReducer.
- Replace Redux with useReducer - This helped me to use useReducer and useContext to replace Redux in TypeScript.
- Node.js, Express.js, and PostgreSQL: CRUD REST API example - This helped me to build my REST API with ExpressJS and PostgreSQL.
- Website - Thibault Barrat
- Frontend Mentor - @thibault-barrat
- Twitter - @Thib_Bar