/rocketseat-feedget-nlw8

Feedback widget button built with react, tailwind css, phosphor icons, typescript and headless ui. Communicates with back-end , sends email notifications and writes Feedbacks in Postgresql database.

Primary LanguageTypeScript

FEEDGET APP - Built during Rocketseat NLW8 - Return.

What is it?

It's a reusable feedback widget button built with react, tailwind css, phosphor icons and typescript. It adresses all accessibility issues using popover component from headless ui.

Use-steps

Componentized considering main use-steps and button reusability.


Mailing

App is designed to send and email to the site owner containing all the feedback info and an optional screenshot. Email service is provided by nodemailer and was tested during development using trapmail.

Screenshot Feature

Screenshot feature was implemented using HTML2CANVAS.

Server-side and DB

Sever and it's comunication with DB was designed using node, express and prisma and SWC compiler. It's written in Typescript and it was tested using JEST.

Hosting, CI/CD.

Front-end is hosted on VERCEL. Server and Postgreslq DB are both hosted by Railway, as Both services implement automaticaly CI/CD when linked to github repo.

Skills learned:

  • HTML2CANVAS
  • Tailwind CSS custom configs
  • Front-end and back-end integration
  • Dependency inversion
  • React components props
  • Mailing with nodemailer
  • Basic unit testing with JEST
  • Vercel App hosting
  • Railway hosting
  • CI/CD basic concepts