The form features included:
- multi-step / wizard form
- form field validation on blur ( using yup )
- form field masking / normalisation
- dependent form fields
- custom form inputs
- using react-hook-form with material-ui
- file uploads using the dropzone ( using the react dropzone )
npm install
npm i react-hook-form react-router-dom npm install @mui/material @emotion/react @emotion/styled @mui/icons-material react-phone-input-2 react-dropzone yup @hookform/resolvers react-confetti sweetalert2
npm i -D express express-fileupload cors morgan express-rate-limit concurrently
In the project directory, you can run:
Start server for upload files
Start backend and frontend at the same time
"dev": "concurrently --kill-others "npm run start:server" "npm run start""
Runs the app in the development mode.
Open http://localhost:3000 to view it in your browser.
The page will reload when you make changes.
You may also see any lint errors in the console.
Launches the test runner in the interactive watch mode.
See the section about running tests for more information.
Builds the app for production to the build
folder.
It correctly bundles React in production mode and optimizes the build for the best performance.
The build is minified and the filenames include the hashes.