Skip to content

cassiopeia001/multi-step-form

Repository files navigation

Multi-step form

This is a solution to the Multi-step form challenge on Frontend Mentor. Frontend Mentor challenges help you improve your coding skills by building realistic projects.

Table of contents

Overview

The challenge

Users should be able to:

  • Complete each step of the sequence
  • Go back to a previous step to update their selections
  • See a summary of their selections on the final step and confirm their order
  • 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
  • Receive form validation messages if:
    • A field has been missed
    • The email address is not formatted correctly
    • A step is submitted, but no selection has been made

Screenshot

Personal info step Plan selection step Yearly Plan selection Add-On selection step Summary Thank you msg

Links

My process

Built with

  • Semantic HTML5 markup
  • CSS custom properties
  • Flexbox
  • Mobile-first workflow
  • Accessibility
  • Responsive design best practises
  • React - JS library
  • Tailwind - CSS framework

What I learned

This project was a great learning experience that challenged me in several ways. Building a multi-step form allowed me to work with React’s useReducer hook, which proved to be an efficient tool for managing complex state logic. I also leveraged the Context API to pass data through deeply nested components, effectively avoiding prop drilling. Ensuring accessibility presented a technical challenge, but it helped me write cleaner, more inclusive code and strengthened my understanding of accessibility guidlines and best practises. Additionally, I learned to use Framer Motion to implement smooth, visually appealing animations throughout the form.

Releases

No releases published

Packages

 
 
 

Contributors