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.
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
- Solution URL: https://github.com/YusufAkilevi/Multi-Page-Form
- Live Site URL: https://multi-page-form-yakilevs.netlify.app/
- Semantic HTML5 markup
- CSS
- Flexbox
- CSS Grid
- Desktop-first workflow
- React - JS library
- ReduxToolkit
- Router
Organizing components in a modular and reusable manner was crucial for maintaining a clean codebase. Learning to structure components effectively helped improve code readability and maintainability.
Using Redux to manage the form's state allowed for centralized control over user input and interactions. This facilitated easy data sharing between different form steps and improved the overall user experience.
Implementing React Router enabled smooth navigation between form steps, enhancing the user's perception of the form as multiple pages. Proper routing improved user flow and allowed for easy bookmarking or sharing of specific form steps.
Creating a consistent and visually appealing design required a strong understanding of CSS. Leveraging CSS techniques like flexbox or grid layout helped in achieving responsive and well-organized UI elements.
Developing a user-centric design mindset was crucial for ensuring a seamless experience. Incorporating features such as validation, error handling, and progress indicators contributed to an intuitive and user-friendly multi-page form.
Use this section to outline areas that you want to continue focusing on in future projects. These could be concepts you're still not completely comfortable with or techniques you found useful that you want to refine and perfect.
- MDN - This helped me to find anything related Javascript, CSS or HTMl.
- CSS Tricks - This website explains css properties really easy to understand and provide example codes.
- Frontend Mentor - @YusufAkilevi
- Twitter - @yusufakilevii
- GitHub - @YusufAkilevi
I worked alone in this project and I hope I would have an opportunity to work on an open source project with other developers.