This is a solution to the Single-page developer portfolio challenge on Frontend Mentor. Frontend Mentor challenges help you improve your coding skills by building realistic projects.
Users should be able to:
- Receive an error message when the
form
is submitted if:- Any field is empty
- The email address is not formatted correctly
- View the optimal layout for the interface depending on their device's screen size
- See hover and focus states for all interactive elements on the page
- Bonus: Hook the form up so it sends and stores the user's enquiry (you can use a spreadsheet or Airtable to save the enquiries)
- Bonus: Add your own details (image, skills, projects) to replace the ones in the design
- Semantic HTML5 markup
- CSS custom properties
- Flexbox
- CSS Grid
- Mobile-first workflow
- React - JS library
- TypeScript
- Styled Components
- React Hook Form
- React Hot Toast
- React Query
Writing React functional components, hooks and props with TypeScript.
Registering, watching and validating inputs with React Hook Form.
Writing a POST request to persist form data into a database.
Writing a query that performs a mutation adding a new entry to the database.
Showing a success or error notification when performing the query.
- React Hook Form Docs - This helped me with the form data handling.
- React Query - This helped with the query mutation implementation.
- React Hot Toast Docs - This helped me with the notification implementation.
- Frontend Mentor - @mgalvizo