Live Demo |
---|
Live Documentation Guide |
---|
This project was originally part of a coding assessment that I once took part in that I later thought would make a great case study. I was given a Sketch file of a multi-step form and told to reproduce a 1:1 pixel-perfect web app from it that was responsive, fully-functional, and written in ReactJS. The end goal of the project was to have a form that collected user input into an object and to console.log
that object when the form is submitted.
Upon the completion of this assessment, I was able to demonstrate my ability in and understanding of:
- Creating functional, dynamic, and reusable ReactJS components
- Field Validation
- Atomic design in ReactJS applications
- BEM principles
- Responsiveness
- Code Documentation
- Live UI Documentation
- Continuous Deployment
- Git Version Control
- Must use either React JS or React Native to complete the project
- Must build and run in either a web browser or device simulator
- May use third party libraries to complete this task
- Organize your component into atoms, molecules and one singular organism in a way that shows you have a good understanding of atomic design principles and reuse
- The component will have 4 responsive breakpoints as shown in Sketch file:
- Mobile
- Tablet Portrait
- Tablet Landscape
- Desktop
- The component will have 5 states:
- Email address collection
- Email address collection with error message
- Full name collection
- Full name collection with error message
- Congratulations! message
- Form validation will be as follows:
- Email Address field: Required and must be valid email
- First Name field: Required
- Last Name field: Required
- Component will not change states while invalid fields exist
- Form will not actually POST anywhere. Just console log the object that holds {email, first, last } values and toggle to ‘congratulations’ state.
- Use Storybook to create an interactive documentation guide for:
- Each form state
- Each reusable component
- Each reusable container
Explore the interactive documentation guide and test each reusable component in isolation.
Interactive Documentation Guide |
---|
- ReactJS - The framework used
- Storybook - UI component explorer used to create interactive documentation guide
- Paul Saada (Portfolio)