Notes: In order to save time, some shortcuts have been made :) Some UX improvements can be done, like not validating fields on each keystroke, but the foundation of forms framework is there, so this behaviour can be added easily. Also Cleave library have been used to mask inputs. Application was developed and tested using latest chrome and might not work in older browsers due to absence of any Polyfills/post-css. Test coverage is low as well, just cc validation is tested, snapshots tests can be added in the future:)
├── public - meta files
│ ├── icons
│ └── manifest.json
├── server.js - simple server
├── src
│ ├── app - App specific components, services and utils
│ ├── common - Common components and utils, ideally should be in separate package
│ ├── index.tsx - Entry point
│ └── styles - scss global styles, includes several mixins from bootstrap(only grid specific)
└── webpack.config.js
You should have node v12+.
Creates a production build.
Runs jest to execute unit and enzyme tests.
Runs dev server in watch mode with module replacement.
Runs linting
Simple CI pipeline script